免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2547 | 回复: 3
打印 上一主题 下一主题

[文本处理] 如何按指定格式输出文本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-04-15 10:48 |显示全部楼层 |倒序浏览
本帖最后由 liucheng1513 于 2019-04-15 14:31 编辑

输出内容如下


    <Play>
         <FileName>A390A15FEF2B.mp4</FileName>
         <Long>59</Long>
         <Start>00:00:00</Start>
     </Play>
     <Play>
         <FileName>ACACF15B7E7A7F6.mp4</FileName>
         <Long>206</Long>
         <Start>00:00:59</Start>
     </Play>
     <Play>
         <FileName>54354345345.mp4</FileName>
         <Long>30</Long>
            <Start>00:04:25</Start>
     </Play>

.......一直 循环到 23:59:59

     <Play>
         <FileName>fgbfdgvg3453.mp4</FileName>
         <Long>300</Long>
            <Start>23:56:47</Start>
     </Play>


已知文件列表,和列表内文件对应的时长

media.txt
A390A15FEF2B.mp4
ACACF15B7E7A7F6.mp4
54354345345.mp4
fgbfdgvg3453.mp4


size.txt
[A390A15FEF2B.mp4]

long=59
size=11692742
[ACACF15B7E7A7F6.mp4]
long=206
size=36857462
[54354345345.mp4]
long=30
size=39076061
[fgbfdgvg3453.mp4]
long=300
size=2481829

#!/bin/bash
cat /media.txt|awk '{print $1}'|while read file_name;
do
get_size=` awk -F '=' '/\['$file_name'\]/{a=1}a==1&&$1~/size/{print $2;exit}' /size.txt | sed s/[[:space:]]//g`
get_long=` awk -F '=' '/\['$file_name'\]/{a=1}a==1&&$1~/long/{print $2;exit}' /size.txt | sed s/[[:space:]]//g`
echo "<Play>" >>/play.txt
echo "<FileName>"$file_name"</FileName>" >>/play.txt
echo "<Size>"$get_size"</Size>" >>/play.txt
echo "<Long>"$get_long"</Long>" >>/play.txt
echo "<Start>"00:00:00"</Start>" >>/play.txt
echo "</Play>" >>/play.txt
done;


FileName为文件名,Long为视频播放长度(秒),Start为播放的时间,即从每天的00:00:00  时间  按照指定时间循环播放到23:59:59,播放第一个文件的时间是 00:00:00,播放第二文件的时间是00:00:00   +  第一个文件播放时 时长(59秒)00:00:59,如何将数据从数据按指定格式显示,start时间需要自动叠加,现在的难点在于Start时间怎么循环




论坛徽章:
0
2 [报告]
发表于 2019-04-15 13:29 |显示全部楼层
回复 2# 本友会机友会摄友会


列表和列表内文件的播放是长是已知的,现在不知道怎么写出循环,并控制循环的时间



media.txt
A390A15FEF2B.mp4
ACACF15B7E7A7F6.mp4
54354345345.mp4
fgbfdgvg3453.mp4




size.txt
[config]
[A390A15FEF2B.mp4]

long=59
size=11692742
[ACACF15B7E7A7F6.mp4]
long=206
size=36857462
[54354345345.mp4]
long=30
size=39076061
[fgbfdgvg3453.mp4]
long=300
size=2481829


论坛徽章:
0
3 [报告]
发表于 2019-04-15 15:40 |显示全部楼层
回复 5# 本友会机友会摄友会

给一个安卓的播放器制作播放列表,这个是生成24小时的播放列表,就是从每天的00:00:00----23:59:59   ,到了start的时间就播放指定的内容,播放列表是按照media.txt内的 文件 ,获取size.txt内的 时间生成 ,循环media.txt内的文件生成时间列表,

论坛徽章:
0
4 [报告]
发表于 2019-04-15 17:24 |显示全部楼层
回复 7# 本友会机友会摄友会

Linux 生成
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP