いくつかのフォルダー階層があり、一部のフォルダーには画像があります。すべての画像を一覧表示し、指定された 1 つのフォルダーにコピーできるシェル スクリプトが必要です。一覧表示は重要ではありません。すべての画像をフォルダーにコピーしたいだけです。 ?
自分ができるということがわかっている
ls -R *.png
しかし、どうすればそれらすべてを 1 つのフォルダーにコピーできますか?
ありがとう!
いくつかのフォルダー階層があり、一部のフォルダーには画像があります。すべての画像を一覧表示し、指定された 1 つのフォルダーにコピーできるシェル スクリプトが必要です。一覧表示は重要ではありません。すべての画像をフォルダーにコピーしたいだけです。 ?
自分ができるということがわかっている
ls -R *.png
しかし、どうすればそれらすべてを 1 つのフォルダーにコピーできますか?
ありがとう!
更新: glenn jackmanが指摘しているように、これは私が提供した回答よりも少し効率的に使用できます。
file . -type f -name \*.png | xargs cp -t destination
説明については、この回答に続くglennのコメントを参照してください。
1つの方法は使用することfind
です:
find . -type f -name "*.png" -exec cp {} ~/path/to/your/destination/folder \;
説明:
find
ファイル/ディレクトリを見つけるために使用されます.
現在の作業ディレクトリから検索を開始します(または、パスを指定できます)-type f
:(ディレクトリではなく)ファイルのみを考慮-name "*.png"
:png拡張子を持つもののみを考慮してください-exec
:見つかったそのような結果ごとに、何かを実行します(以下を参照)cp {} ~/path/to/your/destination/folder \;
:これは何かをする部分です:見つかった(に置き換えられた{}
)そのような結果をそれぞれ、指定された宛先にコピーします。