フィルタgrepでgrep、どのように?

フィルタgrepでgrep、どのように?

必要なのはZipファイル名だけです。最初のステップとして著者を検索しました。

egrep -ni -B1 --color "$autor: test_autor" file_search_v1.log > result1.log

とにかく結果は次のとおりです。

郵便番号: /var/www/dir_de/html/dir1/dir2/7890971.zip作成者
: test_autor 郵便番号:
/var/www/dir_de/html/dir1/dir2/10567581.zip
作成者: test_autor

しかし、上記のようにZiipファイル名は 。 2番目のステップでは、最初の検索結果をもう一度フィルタリングしてみます。

egrep -ni -B1 --color "$autor: test_autor" file_search_v1.log | xargs grep -i -o "\/[[:digit:]]]\.zip"

残念ながら、ファイル名だけを検索しても機能しません。

私の質問。 zipファイル名のみを取得するには、2番目のgrepフィルタをどのように「検索する」のですか?

ベストアンサー1

grep -B1 "$autor: test_autor" file_search_v1.log | grep -o "[^/]*\.zip$"

grep必要に応じて最初のものを変更してください。 2番目は、文字ではなく行と行末のサフィックスを含む行をgrepフィルタリングします。/.zip

[^/]zipファイルに数字のみが含まれていることがわかっている場合[[:digit:]]

おすすめ記事