日記帳

プログラミングのことをつぶやく日記です。

ファイルを一か所にまとめるワンライナー

PixivでDLしたjpg,png,gifファイルを一か所にまとめるワンライナー

findコマンドの -name オプションで検索対象のファイルを指定します。nl コマンドでファイルのリストに変換します。awkコマンドで、デリミタ . で分割して拡張子を抜き出し、ファイルをリネームします。(そうしないと同一ファイルがあるので失敗する)awkで組み立てたファイルの移動先をxargsでmvコマンドに渡します。-n オプションは引数の数を表しています。

find ./  -name "*.jpg" -or -name "*.png" -or -name "*.gif" | nl | awk -F'[.]' '{ printf("\".%s.%s\" ./_matome/%02d_.%s\n", $2, $3, $1, $3) }' | xargs -n 2 mv