将目录中的所有文件向上移动一步
我有一个如下所示的目录
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 中是否有一种紧凑的方法来做到这一点?
I have a directories that look like this
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
What I want to do is to move out all the "*.masked" files in the subdirectories /1
upto /Un
.
Is there a compact way to do it in Linux/Unix?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
移动文件所有与特定表达式匹配的文件的典型方法是
targetDir 可能所在的位置。
如果您想从目录 1,2,3 移动它,那么您可以执行类似的操作,
或者,如果您想专门从编号目录移动它,你可以运行类似的东西
The typical way of moving files all files matching a particular expression is
where targetDir could be ..
If you want to move it from directories 1,2,3 then you can do something like
Or, if you want to specifically move it from numbered directories, you can just run something like
许多 UNIX shell 也支持路径的目录部分中的 * 运算符。 以下至少适用于 bash 和 zsh:
这将返回更深一层目录中以 .masked 结尾的所有文件。
所以要移动它们:
Many unix shells support the * operator in the directory portion of the path as well. The following works in at least bash and zsh:
This will return all of the files that end in .masked one directory deeper.
So to move them: