awk、paste 简单使用 时间: 2018-11-25 23:31 分类: Shell,Linux 现有两个文本: ``` d6359295a0d84338b4d8728f61b441f238e898a0 CYW.娘道.2018.EP01.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 60a4e27ec562e6b49c7d0729c76ad8432a2748b3 CYW.娘道.2018.EP02.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 d34644287f17b1e7e1039a713af5edae352326cd CYW.娘道.2018.EP03.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 c53f7f80965137f1a9c48ac8320724bae2f4c555 CYW.娘道.2018.EP04.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 …… ``` 上面文本由`sha1sum *.mp4`获得。 第二个文本: ``` -rw-r--r-- 1 root root 1012053780 Oct 17 11:25 CYW.娘道.2018.EP01.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 -rw-r--r-- 1 root root 972691059 Oct 17 11:45 CYW.娘道.2018.EP02.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 -rw-r--r-- 1 root root 996476288 Oct 17 18:04 CYW.娘道.2018.EP03.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 -rw-r--r-- 1 root root 1050117829 Oct 17 17:43 CYW.娘道.2018.EP04.1920X1080P.WEB-DL.X264.Audio.AAC-无水印.菜牙电影网@慕凝枫.mp4 …… ``` 以上文本由`ll *.mp4`获得。 现需得到如下结果: ``` 在线观看《娘道》第1集.HD1080P.国语中字----1012053780|d6359295a0d84338b4d8728f61b441f238e898a0 在线观看《娘道》第2集.HD1080P.国语中字----972691059|60a4e27ec562e6b49c7d0729c76ad8432a2748b3 在线观看《娘道》第3集.HD1080P.国语中字----996476288|d34644287f17b1e7e1039a713af5edae352326cd 在线观看《娘道》第4集.HD1080P.国语中字----1050117829|c53f7f80965137f1a9c48ac8320724bae2f4c555 …… ``` 实现思路: 1. 获取第二个文本的`size`部分 2. 获取第一个文本的`sha1`部分 3. 合并`size`和`sha1`,并添加分隔符`|` 4. 为第三步合并的结果添加前面固定的文字部分`在线观看《娘道》第n集.HD1080P.国语中字`,其中`n`为行号 拆分实现: ``` # 获取 size 部分 > awk '{print $5}' > size.txt # 获取 sha1 部分 > awk '{print $1}' > sha1.txt # 合并 size 和 sha1 并添加分隔符 | > paste -d '\|' size.txt sha1.txt > temp.txt > awk '{print "在线观看《娘道》第"NR"集.HD1080P.国语中字----"$1}' temp.txt ``` 上面最后一条`awk`中的`NR`表示行号。 标签: 无