書籍紹介
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
が重要ですね。