[英]GREP by result of awk
awk '{print $4}' 的輸出是
b05808aa-c6ad-4d30-a334-198ff5726f7c
59996d37-9008-4b3b-ab22-340955cb6019
2b41f358-ff6d-418c-a0d3-ac7151c03b78
7ac4995c-ff2c-4717-a2ac-e6870a5670f0
我需要通過這些記錄 grep 文件 st.log 。 像awk '{print $4}' |xargs -i grep -w "pattern from awk" st.log
我不知道如何正確傳遞模式?
怎么樣
awk '{print $4}' | grep -F -f - st.log
感謝 Eric Renouf,他注意到-f -
可以用於標准輸入,而不是-f <(cat)
,注意: -f /dev/stdin
也可以工作並避免啟動新進程。
或更接近問題以對輸出進行排序
awk '{print $4}' | xargs -i grep -F {} st.log
也許-w
不是 OP 需要的選項,而是-F
grep --help
-F, --fixed-strings PATTERN is a set of newline-separated strings
-w, --word-regexp force PATTERN to match only whole words
-w
將僅匹配包含完全模式的行
例子
grep -w . <<<a # matches
grep -w . <<<ab # doesn't match
grep -F . <<<a # doesn't match
grep -F . <<<a.b # matches
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.