私は確かにgrepコマンドでいくつかの問題があります。複数のファイルでgrep検索の最終行を取得
find . -name "FILE_NAME" | xargs -I name grep PATERN name
:私はまた、複数の選択したファイル内のgrep検索を行うための方法を見つける
grep PATERN FILE_NAME | tail -1
:
私は唯一のgrep検索の最後の行を表示する方法を見つけました今私は各単一のファイルのgrep結果の最後の行を取得したいと思います。
find . -name "FILE_NAME" | xargs -I name grep PATERN name | tail -1
これは私がすべてのファイルの最後にマッチした摂餌がしたい最後のファイルの最後の値だけを返します。 私はこれを試してみました。書き込み時にシェルglobingとexpasionで世話をし、
find . -name "<file-name-to-find>" -exec grep "<pattern-to-match>" "{}" ";" | tail -1
「{}」のファイル名です:あなたはあまりにもコマンドを実行するために見つけるに使用できる
はうまくいきます!ありがとうございました! :D –
残念ながら、ファイル全体を検索して最終結果だけを返すと、これは巨大なファイルや複雑なパターンの検索には効率的ではありませんか?あなたのforループの中で、次のようなものはどうですか? 'tacファイル| grep -m1 -oP '(?<=tag>)。*(?=) '| head -n 1 または grep -m1 -oP(?<=tag>)「<<(tacファイル)」 – kisna