😎

shellで直前に実行したコマンドの文字列を置換して再実行 🔁

2021/12/11に公開

たとえば、jpg->pngの変換をjpg->gifに変更したいとき

$ convert -geometry 480x480 sample1.jpg sample1.png

を実行した後に ^<before>^<after> で直前に実行したコマンドの文字列置換ができる

$ ^png^gif
convert -geometry 480x480 sample1.jpg sample1.gif

みたいな事をよくやる.

上記だと前方一致で1つの文言しか置換できないが、 !!:gs/<before></after> で2つ以上の文言を置換して実行できる

$ convert -geometry 480x480 sample1.jpg sample1.png
$ !!gs:/sample1/sample2
convert -geometry 480x480 sample2.jpg sample2.png

地味に便利でたまに使う

Discussion