我正在使用 ffmpeg 批量连接 ogg 音频文件我的列表.txt文件
格式我的列表.txt文件是
file '/path/to/file1.wav'
file '/path/to/file2.wav'
file '/path/to/file3.wav'
我的‘ls -l’WhattsAPP ogg 音频文件的输出样本类似于
-rw-rw-r-- 1 work work 64112 Nov 14 18:43 'WhatsApp Ptt 2019-11-11 at 10.19.18 AM.ogg'
-rw-rw-r-- 1 work work 24616 Nov 14 18:43 'WhatsApp Ptt 2019-11-11 at 10.19.50 AM.ogg'
-rw-rw-r-- 1 work work 26166 Nov 14 18:43 'WhatsApp Ptt 2019-11-11 at 10.20.18 AM.ogg'
-rw-rw-r-- 1 work work 69895 Nov 14 18:43 'WhatsApp Ptt 2019-11-11 at 10.21.05 AM.ogg'
-rw-rw-r-- 1 work work 85416 Nov 14 18:43 'WhatsApp Ptt 2019-11-11 at 10.27.09 AM.ogg'
我如何只获取“WhatsApp Ptt 2019-11-11 上午 10.19.18.ogg”每行的部分‘ls -l’输出使用cut、sed、awk或者使用单个命令将任何其他工具放入文件中?
如何添加关键字“文件”使用单个命令在文件中的所有文件名之前?
过程 1. 和 2. 可以合并为一个命令吗?
最终文件的内容需要如下所示:
file 'WhatsApp Ptt 2019-11-12 at 10.21.59 AM.ogg'
file 'WhatsApp Ptt 2019-11-12 at 10.29.45 AM.ogg'
file 'WhatsApp Ptt 2019-11-12 at 10.31.52 AM.ogg'
file 'WhatsApp Ptt 2019-11-12 at 9.31.38 AM.ogg'
答案1
使用glob
而不是 来ls
处理文件名列表更简单
for f in *; do
echo file \'$f\'
done
答案2
/bin/ls -1
这样就把所有的粘性物质都去掉了:)
问题是,大多数发行版中的 ls 都别名为“ls -la”。您可以使用“alias ls”检查,看看是否会出现任何问题
另外,使用绝对路径(带有 /bin/)将避免使用别名。