GNU/Linux >> Linux の 問題 >  >> Linux

Bashコマンドの最初の単語をすばやく変更するには?

!$ 前のコマンドの最後の単語に展開されます。

cat foo/is/a/very/long/path/to/bar.c

rm !$

または:

git diff foo/bar.c

git checkout !$

あなたの例はたまたま最後の単語を繰り返すだけだったので、 !$ うまくいきました。実際に繰り返したい引数がたくさんあり、最初の単語だけを変更したい場合は、 !* を使用できます 、ゼロ番目を除く前のコマンドのすべての単語に展開されます。

bash の「HISTORY EXPANSION」セクションを参照してください。 マンページ。そこには多くの柔軟性があります。


Ctrl +a 行頭に移動してから Alt + 最初の単語を削除します。


実際に高速になるかどうかはわかりませんが、この記事、特にポイント #.3 を参照してください:

<ブロック引用>
  1. ^str1^str2^ を使用して、前のコマンドの文字列を置き換えます

次の例では、最初に ls コマンドを実行してファイルを確認しています。後で、ファイルの内容を表示したいことに気付きました。ファイル名全体をもう一度入力する代わりに、前のコマンドの「ls」を「cat」に置き換えるだけで済みます。以下に示します。

$ ls /etc/cron.daily/logrotate

$ ^ls^cat^
cat /etc/cron.daily/logrotate

Linux
  1. basenameコマンドの使用方法は?

  2. Bashの「評価」コマンド?

  3. 最初の一致後に検索コマンドを停止する方法は?

  1. Bashで前/次の単語のショートカットを変更するにはどうすればよいですか?

  2. ワイルドカード*はコマンドとしてどのように解釈されますか?

  3. Bashでコマンドプロンプトの色を設定するには?

  1. Ubuntu でホスト名を変更する方法

  2. 前の bash コマンドの引数を思い出すにはどうすればよいですか?

  3. ifconfig コマンドから最初の IP アドレスをキャプチャする方法は?