Bash 查找没有.mov扩展名的所有文件并添加.mov
我一直在使用这篇文章作为参考(),它让我达到了90%的目标,但我不知道如何完成我需要的shell脚本 这是我到目前为止写的剧本:Bash 查找没有.mov扩展名的所有文件并添加.mov,bash,file,shell,command-line,file-extension,Bash,File,Shell,Command Line,File Extension,我一直在使用这篇文章作为参考(),它让我达到了90%的目标,但我不知道如何完成我需要的shell脚本 这是我到目前为止写的剧本: find /Users/Floyd/Desktop/test -type f -not -name "*.*" -not -ipath "*zworkfolder*" -exec mv '{}' '{}'.mov \; 我想找到文件夹“test”中所有没有.mov扩展名的文件,并将扩展名添加到文件名的末尾。在大多数情况下,它是有效的,但当我遇到文件名中有“.”的文件
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.新.02” 我该怎么做才能让它在这些文件名中添加.mov扩展名 多谢各位
Floyd.如果您不希望文件匹配
*.mov
,则应根据该文件进行筛选,而不是使用更通用的*.
。。
因此,以下几点可以做到:
find /Users/Floyd/Desktop/test \
-type f -not -name "*.mov" -not -ipath "*zworkfolder*" \
-exec mv \{\} \{\}.mov \;
你是说“没有.mov扩展名的文件”还是“没有扩展名的文件”?还是别的什么
-not-name“*.*”
将删除任何带有扩展名的文件(即文件名某处有点的文件)。如果您不想这样做,请不要将其放在命令中。您需要的不是-not-name“*.mov”
吗?谢谢!简单的问题,简单的答案。现在可以了。我想我昨晚试过了,但我累了,谁知道呢。再次感谢。