ファイルの整理がしたい
ファイルの拡張子を指定して、必要なファイルのみをコピーしたかったので色々調べてみました。 備忘録としてまとめます。
ディレクトリの内容確認
以下のスクリプトを親ディレクトリで実行します。 ファイルの拡張子とそれぞれのファイル数がチェックできます。
$ find . -type f -print | sed -e 's/^.*\///' | grep '\.' | sed -e 's/^.*\.//' | sort | uniq -c | sort -nr
ファイルのコピー
同じく親ディレクトリ上で以下を実行します。
find で extension
に指定したファイル一覧を取得します。次に cpio コマンドでファイルをコピーします。destination にディレクトリが無い場合は自動で作成されるので便利です。
$ find . -name "*.<extension>" | cpio -pd ~/path/to/destination
まとめ
mp3 だけとか、 jpg だけ取り出したい。サブディレクトリがいっぱいあって大変という場合に役に立つと思います。 余談ですが、high sierra にしてからファイルのコピーが早くなった気がします。APFSの恩恵かな?