问题描述:

下载一个网页上的流媒体视频,通过查看发现,网页有个播放列表XXX.m3u8文件,视频为*.ts格式,0.ts、1.ts、... N.ts。

初步解决方式:

通过迅雷批量下载*.ts文件。但无法快速合并。因为文件名为0.ts、1.ts、11.ts、12.ts、13.ts、.....、2.ts、21.ts、22.ts、23.ts,系统无法按照顺序排序,需要重命名为000.ts、001.ts、002.ts、003.ts、004.ts、005.ts、006.ts、....

快速重命名方案:

1、核心循环框架

for f in *.ts; do echo "$f"; done

# 逐行显示本目录下的所有后缀名为.ts的文件

ls | grep .ts

# 等价命令

这是一个压缩写法,实际可以写多行。写成一行(适用于终端命令提示符)

for f in *.ts #声明并创建了变量f

do

echo "$f" #使用变量f

done

2、核心替换语句

sed -e 's/^.*\.mp4_//g' 1.txt > 2.txt

# 正则表达式部分

^ 表示的行首 (与之对应的是 $ 表示的行尾)。

. 表示的是匹配除了换行以外的任意单字符。

* 表示0次或N次匹配前一个规则或字符。

[ ] 表示的匹配括号内的规则。

# sed的命令部分

sed 是流编辑(stream editor),就是逐行处理编辑工具。

-e 可以不加

's/aaa/bbb/g' 这是标准的正则表达式。把aaa替换为bbb。

常用命令:

a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~

s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

3、核心截取语句

url="www.baidu.net"

echo ${url: 0-9} #省略 length,直接截取到字符串末尾

# 结果为baidu.net。

格式 说明

${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。

${string: start} 从 string 字符串的左边第 start 个字符开始截取,直到最后。

${string: 0-start :length} 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。

${string: 0-start} 从 string 字符串的右边第 start 个字符开始截取,直到最后。

${string#*chars} 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。

${string##*chars} 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。

${string%*chars} 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。

${string%%*chars} 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。

4、核心重命名语句

mv a.mp4 b.mp4

#重命名a.mp4为b.mp4

5、核心赋值语句

将一条命令的执行结果赋给一个变量的方法有:

1、使用反引号``

如:a=`echo "hello world"`;

即将命令 echo "hello world"的输出赋给变量a

2、可以使用 $()

如:a=$(echo "hello world")

即将命令echo "hello world"的输出赋给变量a

6、最终语句总结

for f in *.ts; do g=$(echo $f | sed 's/^.*\.mp4_/00/g') ;mv $f ${g:0-6} ; done;

合并文件:

cat *.ts > combine.ts

linux合并ts文件吗,UNIX LINUX MACOS shell 下载合并*.ts视频相关推荐

  1. 简要介绍一下Dos/Windows格式文件和Unix/Linux格式文件(剪不断理还乱的\r\n和\n)

    DOS文件(windows格式文件)中,按一下ENTER就是输入了\r\n,这就是回车换行 MAC文件里,用\r换行 UNIX文件里,用\n换行 自己尝试了一些\r \n的组合,归纳了下规律: win ...

  2. linux 几个文件夹作用,linux下每一个文件夹的作用.docx

    目录结构及主要内容 "/"根冃录部分有以F子冃录: /usr 口录包含所有的命令.程序库.文档和英它文件.这些文件在正常操作中不会被改变的.这个目录也包含你的Linux 发行版本的 ...

  3. linux 穿件文件_关于Linux的25件事

    linux 穿件文件 今天是Linux 25年的历史,这是有史以来最成功的软件. 在本周的LinuxCon上,Linux基金会的Jim Zemlin在主题演讲中表达了钦佩,赞美和激动,他说:" ...

  4. linux下启动tlq命令,UNIX/LINUX命令

    1 如何查看磁盘使用情况 查看磁盘空间 df -k 可以看出磁盘空间使用情况.以及分区或者逻辑卷的挂载目录等. $ df -k Filesystem 1024-blocks Free %Used Iu ...

  5. linux蓝牙接收文件路径,在Linux中设置蓝牙,方便文件传输、连接耳麦

    在 Windows 和 macOS 上对蓝牙功能进行配置都非常容易,用户可以很简单地就连接蓝牙鼠标.键盘.耳机或其它任何蓝牙配件.而在 Linux 系统中使用蓝牙连接就不那么方便了,至少我还没遇到过能 ...

  6. linux 烧片文件生成,在Linux上烧录CD

    在Linux上烧录CD Linux为创建CD提供了功能强大且灵活的工具.您可以创建在几乎任何平台上都可读的盘,还可以创建.iso文件以供下载和分发. 在任何平台上从命令行烧录CD都是一件令人费解且烦躁 ...

  7. linux给脚本文件赋权限,linux编写.sh脚本并赋权限问题

    linux编写.sh脚本并赋权限问题 今日打包编译项目时,发现缺少一个git pull更新项目的脚本,所以在linux编写了一个gitpull.sh脚本,能够实现更新项目的需求. 1.首先vi  gi ...

  8. linux光盘镜像文件在哪,linux下如何读取使用iso 镜像文件的方法

    如果拷贝到本地,可以使用mount mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img), 用例:如我有一个/home/rhel5 ...

  9. linux文件系统中文件基本权限,Linux文件权限基本属性图文详解

    [概述] 在 Linux 系统中,不同的用户处于不同的地位,拥有不同的权限,为保护系统安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. Linux 系统的每一个文 ...

  10. linux c++ 程序运行时间,总结UNIX/LINUX下C++程序计时的方法

    前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序 ...

最新文章

  1. srs audio sandbox 注册机_Windows10自带 Sandbox软件测试必备技巧
  2. 只有与众不同才能生存
  3. LINUX下安装ORACLE,完全搞定
  4. 你真的认识 “ 数据中心网络 ” 吗?
  5. HashSet与HashMap源代码深度剖析
  6. boost::mp11::mp_eval_if_q相关用法的测试程序
  7. either fix the issues identified by lint, or modify your build script as follows
  8. 三分钟教你用 Scarlet 写一个 WebSocket App
  9. San 3.7.4 发布,百度开源的 MVVM 组件框架
  10. Python中写一个乒乓球类的游戏
  11. 电子之嵌入式主流芯片浏览
  12. 大数据之-Hadoop之HDFS_NameNode故障处理_NameNode元数据恢复_案例---大数据之hadoop工作笔记0073
  13. 大数据_Hbase-API访问_Java操作Hbase_封装操作数据的工具类---Hbase工作笔记0015
  14. 首次打开文件简单分析
  15. 如何利用缓存提高asp.net网站访问速度
  16. 【C语言】02-第一个C程序
  17. 20阶乘matlab,matlab如何调用阶乘函数求阶乘的和
  18. Spring Security 单点登录系统
  19. python爬虫练习之爬取豆瓣读书所有标签下的书籍信息
  20. VS code(Visual Studio Code)乱码解决方法

热门文章

  1. 常用审计计算机软件,审计软件
  2. 国际h2真假u盘测试软件,u盘速度测试软件H2TEST
  3. Android关机充电编译,Android6.0+关机状态下实现充电自动开机
  4. SpringCloud教程汇总
  5. 手机反编译java源码,Android反编译(一)之反编译JAVA源码
  6. 【django】短信验证码接口设计、互亿无线短信平台、后端逻辑、前端逻辑【16】
  7. 15个超级实用web开发实用工具
  8. xampp的安装教程
  9. Linux中Redis操作命令
  10. java 实现饼状图_怎么用JAVA 开发的圆饼图