我使用软件 MyFFVideoConverter。我想运行批处理脚本。我的代码如下:
-i intro.jpg -i <input_file> -codec:v libx264 -s 1920x1080 -acodec copy -strict experimental -movflags faststart -t 00:10:10.00 <output_file>
它可以工作,但我想改用mylist.txt
命令-i intro.jpg
。脚本应该只选择文件中的第一个条目mylist.txt
,例如intro1.jpg
,然后删除第一个条目。下次脚本将使用intro2.jpg
并删除这个新的第一个条目,依此类推。
答案1
您可以像这样包装当前的命令:
for line in $(cat mylist.txt); do MyFFVideoConverter ... -i $line ; done
(将 ... 替换为所有其他选项)
此循环将每行运行一次命令mylist.txt
,每次使用该行的内容作为开关的参数-i
。
这不会从mylist.txt
文件中删除任何内容。最后你可以使用 将其全部删除rm
。
如果您确实只需要选择第一行并将其删除,那么:
line = $(head -1 mylist.txt)
MyFFVideoConverter ... -i $line
mylist.txt
然后删除第一行https://unix.stackexchange.com/questions/96226/delete-first-line-of-a-file这给出了一堆解决方案。
以上所有内容均假设您的行(文件名)中没有空格或 shell 解释的字符(|、& 等)。如果是这种情况,您需要更加小心,并使用引号保护内容。