Answers:
如果要移动ABC-IDENTIFIER-XYZ.ext
或IDENTIFIER-XYZ.xml
,可以使用:
mv *IDENTIFIER* ~/YourPath/
*
为通配符零个或多个字符,这意味着零个或多个字符,然后IDENTIFIER
,随后的零个或多个字符。
这将移动所有这些文件包含了IDENTIFIER
您指定的。
你可以用
mv -t DESTINATION file1 file2 file3
和
mv -t DESTINATION `ls|grep IDENTIFIER`
可以,但是我不确定mv是否被多次调用,因为grep将为每个匹配项输出新行。
mv file1 file2 ... destination
您可以使用通配符。
示例:移动所有扩展名为.doc的文件
mv *.doc /path/to/dest/folder/
这会将当前目录下的所有doc文件移动到特定的目标位置。
编辑
回答评论。
mv *.ext *.xml *.txt /path/to/dest/folder/
ABC-IDENTIFIER-XYZ.ext
有些文件IDENTIFIER-XYZ.ext
全部具有不同的扩展名,大多数为xml
或properties
。
.xml
文件(例如),我不想移动,因此无法使用。
如果您要移动一组不相关的文件(名称和类型中没有通用模式),可以按照拉贾南德先生所说的来做:首先进入包含要移动文件的目录
mv file1.ext1 file2.ext2 file3.ext3.. /destination/
如果文件分散在不同的目录中,则只需在move命令中为每个文件指定路径
我使用tuomaz的技术,但稍作修改:
mv file1 file2 file3 -t DESTINATION
我发现这更容易记住,也更难解决,因为它使用与香草mv操作相同的顺序:
mv file1 DESTINATION
mv
未提及任何-t
选项。
ls
不建议用于这种用途。如果要列出文件,尤其是grep
后面列出的文件,请使用find . -name \*IDENTIFIER\*
。
如果要移动的文件太多,则实际上该mv
命令(或其他命令,例如rm
)可能有太多文件。我建议使用xargs
类似的循环方式分别移动每个文件。解决该问题的一种方法是:
ls -1 | grep IDENTIFIER | xargs -i mv {} /path/to/dest/folder/
的ls -1
(负一)确保只有一个在每一行上的文件名。如果该ls
命令具有隐藏的别名,则可以在一行上包含多个文件名,并且无意间移动了您不想移动的文件。