4

多くのサブディレクトリがあり、それぞれに*.nrファイルが含まれるフォルダーがあります。1000 個のサブディレクトリがあり、それぞれに少なくとも 1 つの*.nrファイルが含まれています。これらすべての*.nrファイルを単一のディレクトリにコピーする簡単な方法はありますか?

ファイルを反復処理する簡単なpythonスクリプトを作成することはできますが、コマンド ライン ベースの簡単な方法がある場合、これはやり過ぎのように思えます。

私はグーグルで調べてきましたが、グーグルで調べるべき正確な用語がわかりません。

ありがとう!

4

3 に答える 3

9

何かのようなもの

find /path/to/src -name "*.nr" -exec cp \{\} /path/to/dest \;
于 2013-03-14T14:34:52.743 に答える
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
于 2013-03-14T15:13:35.977 に答える
0

bash で最も簡単な方法:

for F in */*.nr; do cp $F otherdir/ ; done
于 2013-03-18T05:20:24.610 に答える