grep
「MyOwnError」エラーに基づいてログからIDを取得し、同じIDを使用してログ全体にIDが表示される行全体を取得したいと思います。
たとえば、
ファイルがあるとしますFile1
。
animal:Dogs hate the animal:catsF and no-one else
animal:catsF hate the animal:fish
animal:catsF also hate animal:humans
私のクエリは「犬」です。
grep 'Dogs' File1 | grep -o 'animal:.*F'
animal:catsF
これで、grep
「catsF」に必要なファイルと同じファイルが提供されますFile1
。
試してみましたxargs
が、パラメータの代わりにファイル名が選択されました。
grep 'Dogs' File1 | grep -o 'animal:.*F' | xargs grep File1
このコマンドを修正するか、正しいコマンドを入力してください。
答え1
F
このコマンドは、で始まる最初の行を返しますanimal:
。 1つの単語のみを取得するには、animal:
次の間にスペースを指定しないでくださいF
。
grep 'Dogs' File1 | grep -o 'animal:[^ ]*F'
キーワードを含むすべての行を一覧表示するには、標準入力(パイプなど)モードで読み取りをgrep
使用して出力を再パイプします。-f-
| grep -Ff- File1
私はまた、-F
行に正規表現が含まれていないと思ったので、「固定文字列の使用」のようなものを使用しました。