我希望用文件夹的所有mp4文件创建一个mp4,但是要垂直地创建一个
file '/root/mp4/*.mp4'一条条线。在Windows中这就像
(for %i in (*.mp4) do @echo file '%i') > files.txt发布于 2018-05-08 06:46:44
我不确定我是否理解目标,但如果你想读每一行
file '/full/path/to/filename.mp4'我建议以这种方式使用find:
find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"这将搜索当前工作目录(~+被bash's Tilde展开扩展到完整路径),查找其名称与*.mp4匹配的文件,并以指定格式打印它们:"file“后面跟着一个选项卡,文件名以单引号括起来,后面跟着换行符--如果您想要空格而不是选项卡,只需用空格替换\t。如果要将输出存储在文件files.txt中,只需将>files.txt添加到命令行即可。请注意,如果您想要附加到文件中,则这将悄悄地覆盖任何现有的files.txt,请使用>>files.txt。
$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"
file '/home/dessert/test/a.mp4'
file '/home/dessert/test/b.mp4'
$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt
$ cat files.txt
file '/home/dessert/test/a.mp4'
file '/home/dessert/test/b.mp4'但是,如果希望files.txt包含file 'some.mp4'的输出,可以直接使用file:
file *.mp4 >files.txt # with relative paths
file ~+/*.mp4 >files.txt # with absolute paths发布于 2018-05-08 06:22:27
您可以使用:
for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done如果不需要在每个文件名前面使用file,则可以使用:
ls path/to/files/*.mp4 > files.txt第一次命令的结果:
file '/home/george/Documents/askubuntu/disk_use.txt'
file '/home/george/Documents/askubuntu/efi_info.txt'
file '/home/george/Documents/askubuntu/empty.txt'
file '/home/george/Documents/askubuntu/fam.txt'.txt文件,你的will .mp4。for i in ./*.mp4 tp行更改为/file/*.mp4`。发布于 2021-10-21 09:52:13
在在ubuntu 20上尝试和测试的终端中运行这个
printf "file %s\n" *.mp4 > files.txthttps://askubuntu.com/questions/1033431
复制相似问题