Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 查找没有.mov扩展名的所有文件并添加.mov_Bash_File_Shell_Command Line_File Extension - Fatal编程技术网

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

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扩展名的文件,并将扩展名添加到文件名的末尾。在大多数情况下,它是有效的,但当我遇到文件名中有“.”的文件

我一直在使用这篇文章作为参考(),它让我达到了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.新.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”
吗?谢谢!简单的问题,简单的答案。现在可以了。我想我昨晚试过了,但我累了,谁知道呢。再次感谢。