テクいコマンドライン (リネーム)

2022-08-05

色々な機会でテクいコマンドを紹介する機会はあるけど、どんなコマンドを打ったか覚えていないので、Piecesに蓄積していく作戦。

for i in best-playlist*; do mv -v $i bestlist-${i#best-playlist}; done

best-playlistNN-X形式のファイルをbestlist-NN-X形式にバッチリネームする。 ZshでゃったがBashやKshでも有効。というか、ashでも有効。 簡単だが、シェルに対する慣れと理解が必要になる。

best-playlistNN-Xbestlist-NN-Xという文字列は後半NN-Xで共通している。 つまり、(置き換えるのではなく)best-playlistを消して、手前にbestlist-を入れれば変換ができる。

消去する前半が固定文字列なので難しくはなく、${i#best-playlist}で消える。 これでこの置き換え結果はNN-Xになるので、手前にbestlist-と置けばOK。

bestlist-${i#best-playlist}

プログラミング経験があり、シェル経験に乏しいとこういう発想はあまり出てこないかも。