如何一次将多个文件移动到特定的目标目录?

如何一次将多个文件移动到特定的目标目录?

我在某个目录中有一堆文件(以及许多其他文件)想要移动。

幸运的是,我想要移动的所有文件的名称中都包含特定的标识符,因此我可以获得ls | grep IDENTIFIER要移动的文件的确切列表。

但是,我怎样才能mv file /path/to/dest/folder/一次执行,而不是一个接一个地执行(有很多文件需要移动)?

答案1

您可以使用:

mv -t DESTINATION file1 file2 file3

以下方法也有效,但我不确定是否mv多次调用,因为grep每次匹配都会输出一个新行:

mv -t DESTINATION  `ls|grep IDENTIFIER`

答案2

如果要移动ABC-IDENTIFIER-XYZ.extIDENTIFIER-XYZ.xml,可以使用:

mv *IDENTIFIER* ~/YourPath/

*是通配符零个或多个字符, 这意味着零个或多个字符,然后是IDENTIFIER,然后是零个或多个字符

这将移动所有文件包含IDENTIFIER指定的。

答案3

您可以使用通配符

例如,要移动所有具有.doc扩展名的文件:

mv *.doc /path/to/dest/folder/

这会将当前目录下的所有 doc 文件移动到特定目的地。

编辑

回答评论:

但是要移动的文件列表不是由扩展名决定的。一些文件被命名为:ABC-IDENTIFIER-XYZ.ext而一些则IDENTIFIER-XYZ.ext具有不同的扩展名,大多数xmlproperties

mv *.ext  *.xml *.txt /path/to/dest/folder/

答案4

如果文件位于同一目录中,则可以使用

mv /path/to/source/dir/{file1,file2,*.ext1,*.ext2} /path/to/destination/

(在 Ubuntu 16.04 中测试)

相关内容