找到没有.mov扩展名的所有文件并添加.mov

时间:2013-06-25 05:20:56

标签: bash file shell command-line file-extension

我一直在使用这篇文章作为参考(recursively add file extension to all files),它让我获得了90%的成功,但我对如何完成我需要的shell脚本感到迷茫。

这是我到目前为止制作的剧本:

find /Users/Floyd/Desktop/test -type f -not -name "*.*" -not -ipath "*zworkfolder*" -exec mv '{}' '{}'.mov \;

我想找到文件夹“test”中没有.mov扩展名的所有文件,并将扩展名添加到文件名的末尾。在大多数情况下它可以工作,但当遇到具有“。”的文件名时遇到问题。在文件名中。
防爆。 “A020_C020_0321R7_001_A020_C020_0321R7_001.new.02”。

我该怎么做才能为这些文件名添加.mov扩展名?

谢谢。

弗洛伊德。

1 个答案:

答案 0 :(得分:0)

如果您不希望文件与*.mov匹配,则应按此过滤,而不是更通用的*.*。 因此,以下应该做的伎俩:

  find /Users/Floyd/Desktop/test \
       -type f -not -name "*.mov" -not -ipath "*zworkfolder*" \
       -exec mv \{\} \{\}.mov \;