こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

UNIXで、直前のコマンドの一部を置き換えるときに

UNIXでは、
^AAA^BBB
と入力すると、
「直前に実行したコマンドの、AAAをBBBに置き換えたものを実行する」
というようになっている、と思います。

さて、私がWindows上で使っているMSYS(UNIX風の環境を作り出すもの。)では、
直前のコマンドに、AAAが2箇所以上あるときに、最初の1箇所しか置き換えてくれません。

それはUNIXとしては普通の仕様なのでしょうか。

AAAが2箇所以上あるときに、それをすべてBBBに置き換えるためには、どのようにすればよいですか。

投稿日時 - 2006-03-03 10:50:21

QNo.2003719

暇なときに回答ください

質問者が選んだベストアンサー

^AA^BB
で前回実行のコマンドのAAをBBに置き換えて実行
というのはUNIXというよりもシェル(cshやbashなど)の機能かと思います。

^AA^BBで最初のAAだけ置換、というのは、cshやbashではそういう仕様です。
全部のAAをBBに置き換えて実行するには、bashだと
!!:gs/AA/BB/
でOKかと思います。

参考URL:http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html

投稿日時 - 2006-03-03 14:38:06

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問