如何根据扩展名移动特定文件

我想要一个允许根据扩展名选择特定文件的命令,将它们移动到另一个目录。

您可以从一个目录轻松地执行此操作:

 mv /path/to/original/directory/*.pdf /path/to/new/directory 

递归移动的命令可能稍微复杂一些。 这应该可以做到这一点:

 find /original/directory/ | grep '\.pdf' | xargs -I {} mv {} /path/to/new/directory/ 

使用第二个命令/original/directory将递归搜索.pdf文件。

为什么不cp /path/to/dir/where/pdf/are/*.pdf /path/to/where/ever

使用递归globs的另一种方法(在zsh和bash中可用): mv /path/to/original/directory/**/*.pdf /path/to/new/directory/

命令:

 for file in { ls *. pdf} do mv "$file" /destination /here done 

所以在此之前,您必须切换到您拥有文件的目录。