我有一个如下所示的目录
fool@brat:/mydir/ucsc_mm8> tar -xvf *.tar
1/chr1.fa.masked
1/chr1_random.fa.masked
2/chr2.fa.masked
3/chr3.fa.masked
4/chr4.fa.masked
5/chr5.fa.masked
5/chr5_random.fa.masked
19/chr19.fa.masked
Un/chrUn_random.fa.masked我想要做的是将子目录/1中的所有"*.masked“文件移到/Un。在Linux/Unix中有没有一种简洁的方法来做到这一点?
发布于 2009-03-10 01:32:54
移动文件所有匹配特定表达式的文件的典型方法是
mv 1/*.masked targetDirtargetDir可能在的地方..
如果你想把它从目录1,2,3中移走,你可以这样做
mv */*.masked targetDir或者,如果您想专门将其从编号目录中移出,您可以只运行下面的命令
mv [0-9][0-9]/*.masked targetDir发布于 2009-03-10 01:30:50
mv */*.masked .发布于 2009-03-10 01:30:33
许多unix shell还支持在路径的目录部分使用*运算符。下面的代码至少可以在bash和zsh中使用:
ls */*.masked这将返回所有以.masked结尾的文件,一个目录更深。
因此,要移动它们:
mv */*.masked destinationhttps://stackoverflow.com/questions/628617
复制相似问题