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 文件名。在第二步中,我嘗試再次過濾第一次搜尋的結果:
egrep -ni -B1 --color "$autor: test_autor" file_search_v1.log | xargs grep -i -o "\/[[:digit:]]]\.zip"
只搜尋文件名,不幸的是這不起作用。
我的問題。第二個 grep 過濾器應該如何“查看”以便我只獲得 zip 文件名?
grep -B1 "$autor: test_autor" file_search_v1.log | grep -o "[^/]*\.zip$"
根據需要更改第一個
grep
。第二個grep
過濾掉行尾包含非/
字元後跟.zip
後綴的部分。如果您知道您的 zip 文件只包含數字,則可以
[^/]
使用[[:digit:]]
.
用單一**
awk
**表達式:$ author="test_autor" $ awk -v pat="author: $author" '$0 ~ pat{ sub(/^.*\//, "", zip); print zip }{ zip=$0 }' file 7890971.zip 10567581.zip