あなたがの束を持っていると仮定し.docx
、.mp3
、.txt
および.xlsx
ファイルは、このディレクトリ構造に保存されています:
/files/
/files/dir1/
/files/dir1/dir11/
/files/dir1/dir12/
/files/dir1/dir13/
/files/dir2/
/files/dir3/
/files/dir3/dir31/
/files/dir3/dir32/
/files/dir4/
/files/dir5/
/files/dir51/
/files/dir52/
/files/dir53/
/files/dir54/
...そして、あなたはすべての見つかっコピーするためにこのようなすべてのディレクトリに再帰したい.mp3
のファイルを/home/me/music/
しかし、あなたはないではないつまり、あなたがすべて見つけたい(先に、このようなディレクトリツリーを保持したい.mp3
ファイルをにコピーする/home/me/music/
代わりに、それぞれのディレクトリにコピーしますなど/home/me/music/dir1/
、/home/me/music/dir1/dir11/
エトセトラ)。
このような場合、ファイル検索のルートにアクセスするには、シェルターミナル(bash)で最初にこのコマンドを実行します。
cd /files
...そしてこのコマンドを実行します:
for i in `find . -iname '*.mp3'`; do cp $i /home/me/music/; done
場合は、あなたはない、先に元のディレクトリツリーを保存する(実行した後、代わりにこのコマンドを実行しますcd /files
):
find . -iname '*.mp3' | cpio -pdm /home/me/music/
上記のコマンドでは、検索では大文字と小文字を区別しません(すなわちマッチ.mp3
、.MP3
、.mP3
および.Mp3
)。使用-name
の代わりに、-iname
あなたが検索では、大文字と小文字が区別できるようにする場合(例えば使用する-name
ため.mp3
の文字列で終わるファイルにマッチします.mp3
で終わるものをではなく.MP3
、.mP3
も.Mp3
)。
-iname
代わりに推奨-name
し.MP3
ます。