問題3 : ファイル名の一括変換

書籍紹介

1日1問、半年以内に習得 シェル・ワンライナー160本ノック : https://gihyo.jp/book/2021/978-4-297-12267-6

内容

0~1000000のファイルの名前を0埋めして7桁になるように変換します。

シェル芸

find | sed 's/\.\///g' | grep -v '^0' | awk '{printf("%d %07d\n", $1, $1)}' | xargs -n2 bash -c 'mv $0 $1'

感想

xargsコマンドで引数を2つとる方法を調べました。解答によると、xargs -n2 mv でもいけるようです。あと、grep -v ^0 が重要ですね。

LEAVE A COMMENT