我有一个文件夹,这些文件属于可变编号组,按照创建时间的顺序命名。在一个文件夹中,如果它在这种情况下是三个一组,则前三个视频属于一起,第四个到第六个视频一起等。如何使用命令行对这三个文件名组执行命令?
更具体地说,如果它很重要,我实际上想使用mkvmerge使用如下命令合并每组n个文件:
$ mkvmerge -o newfile.mkv '[' file1.mkv ... filen.mkv ']'
编辑:
在这些示例目录中,预先/有四个视频,我想说要分组成两个。前两个走在一起,最后两个走在了一起。 接下来,在帖子/前三个一起去,最后三个一起去。即这些小组遵循他们总是被命名的顺序。
答案 0 :(得分:1)
如果要对文件的块(常量)执行某些操作,那么可能对实用程序parallel
感兴趣:
find ./post -type f -name "*.mkv" | sort | parallel -P1 -n3 mkvmerge '[' {1} {2} {3} ']'
这里,find
命令首先识别感兴趣的文件,其名称因此被排序。然后,命令parallel
以大小为3(-n3
)的块处理这些文件。此外,使用-P
选项,您可以控制处理的线程数...
答案 1 :(得分:1)
这将一次获取3个文件,并将它们用作mkvmerge
find . -maxdepth 1 -name "*.mkv" | xargs -L 3 -I '{}' mkvmerge '[' {} {} {} ']'