【Linux】名前順でコピーする

◾️はじめに

本当に個人的なメモ。

 安物のMP3を以前買ったのだが、
演奏順がファイル名順じゃなくて、ファイル更新日順になってしまう。
そこで、名前順でコピーできるようなコマンドをメモっておく

【1】構文

cd "コピー元のフォルダパス" && IFS=$'\n'; for f in $(ls -1 | sort); do cp -Rp "$f" "コピー先のフォルダパス/"; done

1)説明

* ls -1 | sort: ファイル一覧を強制的に名前順で並べ替え
* for f in ...: 並べ替えたリストの先頭から順番に1つずつ処理を投げる
* cp -Rp: 作成日や変更日などの属性を保持したままコピー

【2】サンプル

cd "/Users/user01/Downloads/all_toeic_official_lr_12_test_1_album_1/" && IFS=$'\n'; for f in $(ls -1 | sort); do cp -Rp "$f" "/Volumes/AGP-A19/Music/TOEIC12"; done