【发布时间】:2020-08-02 16:15:43
【问题描述】:
我想为文件夹中的每个文件名写入一些文本到文件中。像这样的:
echo "file $(ls *.png) \n duration 0.12" > test.txt
但是,这段代码只是在文件的开头添加了file,在文件的末尾添加了\n duration 0.12,并在两者之间添加了文件列表,而我想要这样的东西:
file 1.png
duration 0.12
file 2.png
duration 0.12
该文件实际上必须是 ffmpeg concat demuxer 格式。
我知道我可以使用循环。但是,我不知道是否有更短的命令,或者循环是否与ls 或其他 linux 命令一样高效?
【问题讨论】:
-
你真的在尝试使用 ffmpeg
concat demuxer? -
@MarkSetchell 是的,这就是我的目标。
-
你可以使用
printf "%s\nduration 0.12\n" *.png -
@MarkSetchell 谢谢,这可能是一个答案!但是我猜
printf "file %s\nduration 0.12\n" *.png