将特定模式的文件移动到另一个目录


14

在目录中,/home/in我有如下文件:

crust.MC12345.txt 
crust.etcMC12345.txt
crust.MC23456.txt
crust.etcMC23456.txt 
crust.etctcMC23456.txt 

我只需要移动crust.etcMC12345.txtcrust.etcMC23456.txt到其他目录,/home/out何为我在mv命令使用上述场景模式?


1
模式有点不清楚。您可以编辑问题以包含一些匹配的文件名和一些不匹配的文件名吗?
user000001 2014年

当我在mv命令中使用模式crust。* MC * .txt时,它会将所有4个文件移到我只需要crust.etcMC12345.txt和crust.etcMC23456.txt的位置
user86683 2014年

那为什么不mv crust.etc* dest/呢?
user000001 2014年

我尝试了并且奏效。非常感谢。但是,如果您不知道在MC之前有多少文字,例如etctMC123.txt和etctcMC125.txt
怎么

1
我试图更新您的问题,能否请您花些时间帮助大家吗?目前尚不清楚您拥有哪些文件,以及想要移动哪些文件。
slm

Answers:


19

如果我正确理解您的问题,答案非常简单:

mv crust.etcMC* /home/out

或如果etc不是文字字符串,但例如是任何三个字符,则:

mv crust.???MC* /home/out

我也有其他文件,其名称如crust.tecMC12345.txt crust.etcMC1232.txt等,等等
user86683 2014年

请查看我的答案的编辑,并精确指定您拥有的文件。
jimmij 2014年

crust.etcMC123.txt,crust.tecMC234.txt,crust.cetMC345.txt,crust.MC123.txt是我的目录中的一些示例文件。是可变的
user86683 2014年

4
这与您上面的问题不兼容i need files with names crust.etcMC.xyz。现在你在说do i only mv files with names crust.tecMCxxx.txt。那么,您只想移动crust.etcMC*还是只移动crust.tecMC*两个,或者都不移动?请不要着急回答,花点时间,编辑问题并注意正确的格式,并准确解释您想要的内容。
jimmij 2014年

1

如果要移动具有文件至少之间的一个字符crust.,并MC可以使用

mv crust.?*MC /home/out

这里?代表一个文字,*代表零个或多个,因此组合?*代表一个或多个字符。因此,它将跳过文件crust.MC12345.txt


不知道为什么要投票,因为在我看来这是对问题的正确答案,在问题之后的OP的第二条评论中得到了启发。
ttq
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.