2013-06-25 43 views
0

我一直在使用這篇文章作爲參考(recursively add file extension to all files),它使我90%的方式在我想要的地方,但我失去了如何完成我需要的shell腳本。找到沒有.mov擴展名的所有文件,並添加.mov

這裏是我的腳本到目前爲止我做:

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

我想找到的文件夾「測試」沒有一個.MOV延伸和擴展名添加到結束的所有文件文件名。在大多數情況下,它的工作原理,但當遇到有「。」的文件名時,我遇到了一個問題。在文件名中。例子:
Ex。 「A020_C020_0321R7_001_A020_C020_0321R7_001.new.02」。

我能做些什麼來使它爲這些文件名添加一個.mov擴展名?

謝謝。

Floyd。

+0

你的意思是「文件,唐沒有.mov擴展名「或」沒有擴展名的文件「?或者是其他東西? '-not -name「*。*」'將消除任何帶有擴展名的文件(即文件名中有一個點)。如果你不想要,不要放在命令中。 – rici

+1

不是'-not -name「* .mov」'你需要什麼? – Rohan

回答

0

如果你不想匹配的文件*.mov,你應該通過篩選,而不是更通用的*.* .. 因此下面應該做的伎倆:

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

謝謝!簡單的問題,簡單的答案。它現在有效。我以爲我昨晚試過了,但我很累,所以誰知道。再次感謝。 – Floyd

相關問題