命令行列出目录中的所有文件&所有组合

时间:2013-12-25 10:23:02

标签: macos video compare

我有一个包含7 mp4视频的文件夹。 我找到了一个能够在一个视频(分屏)中将两个视频组合在一起的脚本

现在,我需要一个能够让我回到视频比较的所有可能性的脚本。

Example: my video directory (ex: only three files)
VID1.mp4
VID2.mp4
VID3.mp4

我需要的是一个返回此脚本的脚本:

VID1.mp4 VID2.mp4
VID1.mp4 VID3.mp4
VID2.mp4 VID1.mp4
VID2.mp4 VID3.mp4
VID3.mp4 VID1.mp4
VID3.mp4 VID2.mp4

1 个答案:

答案 0 :(得分:1)

算法:遍历所有.mp4文件(f1)。在该循环内部,再次遍历所有.mp4文件(f2)。如果f1!= f2,则处理组合。

假设您组合视频的脚本名为combine-videos.sh,这里有一个脚本可以执行您要求的操作(我将其命名为combo-script.sh):

#!/bin/sh

for f1 in `ls *.mp4`
do
  for f2 in `ls *.mp4`
  do
    if [ $f1 != $f2 ]
    then
      echo combine-videos.sh $f1 $f2
    fi
  done
done

准备好实际运行脚本时删除echo。测试:

$ touch VID1.mp4 VID2.mp4 VID3.mp4
$ sh combo-script.sh
combine-videos.sh VID1.mp4 VID2.mp4
combine-videos.sh VID1.mp4 VID3.mp4
combine-videos.sh VID2.mp4 VID1.mp4
combine-videos.sh VID2.mp4 VID3.mp4
combine-videos.sh VID3.mp4 VID1.mp4
combine-videos.sh VID3.mp4 VID2.mp4

请注意,此脚本假定.mp4文件与脚本位于同一目录中。