複数の代替エントリを使用して前のコマンドを実行します。

複数の代替エントリを使用して前のコマンドを実行します。

多くの人がそのコマンドを知っているか、以前の^foo^bar^コマンド!:gs/foo/barを実行すると便利です。 「foo」パターンを「bar」パターンに置き換えてください。

ls *.jpg | grep photoしかし、たとえば、あまりにも複雑なパターンマッチングなしで「jpg」と「photo」という単語を置き換えるなど、前のコマンドで複数のパターンを置き換える方法はありますか!:gs/jpg\(.*\)photo/png\1foto

答え1

次のことができます。

!!:s/jpg/png/:s/photo/picture/

答え2

これは、例のコマンドを再入力するよりも短くはありませんが、別の方向に入力して必要な部分だけを呼び出すことができます(ここで、およびls代替| grep項目を入力します。

$ ls *.jpg | grep photo
$ !:0 *.png !:2-3 picture

結果:

ls *.png画像|

関連情報