我有一个包含许多子目录的文件夹,每个子目录中都有一个*.nr
文件。有1000个子目录,每个子目录至少包含一个*.nr
文件。有没有快速的方法将所有这些*.nr
文件复制到一个目录中?
我可以编写一个快速的python
脚本来迭代文件,但如果有一个基于命令行的快速方法,这似乎有点过头了。
我一直在谷歌搜索,但我不确定我应该用谷歌搜索的具体条款。
谢谢!
答案 0 :(得分:9)
类似
find /path/to/src -name "*.nr" -exec cp \{\} /path/to/dest \;
答案 1 :(得分:4)
如果您使用的是具有GNU cp
的系统,则可以更快地完成此操作:
find /path/to/src -name "*.nr" -print0 | xargs -0 cp -t /path/to/dest
复制.c
目录下的所有src
个文件:
time find ~/src -name "*.c" -exec cp \{\} ~/src/Cfound/ \;
. . .
real 0m1.838s
user 0m9.530s
sys 0m1.110s
time find . -name "*.c" -print0 | xargs -0 cp -t ./Cfound/
. . .
real 0m0.057s
user 0m0.010s
sys 0m0.060s
答案 2 :(得分:0)
bash中最简单的方法:
for F in */*.nr; do cp $F otherdir/ ; done