コマンドラインでgrep結果を使​​用する方法は?

コマンドラインでgrep結果を使​​用する方法は?

grep必要なテキストを検索するには、指定したパターンに一致する行を含む行を表示します。

例えば、

# grep -r ".*Linux" *
path0/output.txt:I hope you enjoyed working on Linux.
path1/output1.txt:Welcome to Linux.
path2/output2.txt:I hope you will have fun with Linux.

次に、ファイルを編集したいので、path2/output2.txtを入力しますvim path2/output2.txt

しかし、私はこれが効率的なアプローチだとは思わない。

後続のパスをコピーする方法はgrep

ベストアンサー1

これらはすべて安全な方法Linuxですべてのファイルを見つけます(小文字と大文字)。

xargs -a <(grep -rlZi Linux *) -0 vim
grep -rlZi Linux *| xargs -0 sh -c 'vim "$@" < /dev/tty' vim
grep -rlZi Linux *| xargs -0 vim # you need to run reset after this command 

GNU xargsとBSD xargsには違いがあるため、MacOSXでは動作しない可能性があります。

  • NULLで区切られたファイル名の-Zおよび-0オプション
  • -l は一致するファイルのファイル名を出力するために使用されます。
  • -i は小文字と大文字と一致します。
  • -o on bsd xargsは、「sh -c」部分と同じことを行います。

おすすめ記事