首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将目录中的所有文件上移一步

将目录中的所有文件上移一步
EN

Stack Overflow用户
提问于 2009-03-10 01:24:33
回答 3查看 8.1K关注 0票数 10

我有一个如下所示的目录

代码语言:javascript
复制
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中有没有一种简洁的方法来做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-10 01:32:54

移动文件所有匹配特定表达式的文件的典型方法是

代码语言:javascript
复制
mv 1/*.masked targetDir

targetDir可能在的地方..

如果你想把它从目录1,2,3中移走,你可以这样做

代码语言:javascript
复制
mv */*.masked targetDir

或者,如果您想专门将其从编号目录中移出,您可以只运行下面的命令

代码语言:javascript
复制
mv [0-9][0-9]/*.masked targetDir
票数 16
EN

Stack Overflow用户

发布于 2009-03-10 01:30:50

代码语言:javascript
复制
mv */*.masked .
票数 6
EN

Stack Overflow用户

发布于 2009-03-10 01:30:33

许多unix shell还支持在路径的目录部分使用*运算符。下面的代码至少可以在bash和zsh中使用:

代码语言:javascript
复制
ls */*.masked

这将返回所有以.masked结尾的文件,一个目录更深。

因此,要移动它们:

代码语言:javascript
复制
mv */*.masked destination
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/628617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档