[英]How to filter data from flat file with multiply lines pattern using awk or sed tool?
[英]Using awk pattern to file filter data
我有包含行的folling文件(名為/ tmp / test99):
"0","15","wall15"
123132,09808098,"0","15"
我試圖在第三個位置過濾包含“0”的行,在第四個位置過濾“15”(就像在第二行中一樣)我嘗試運行:
cat /tmp/test99 | awk '/"0","15"/{print>"/tmp/0_15_file.out"} '
但是我沒有得到第二行,而是第一行以"0","15"
開頭。
你能幫忙解決這個模式嗎? 謝謝:)
您可以檢查字段3和4是否等於某些硬編碼值
awk -F, '$3=="\"0\"" && $4=="\"15\""'
將字段分隔符設置為逗號,然后,如果字段3為"0"
且字段4為"15"
打印該行,否則丟棄。
查看在線演示 :
s='"0","15","wall15"
123132,09808098,"0","15"'
awk -F, '$3=="\"0\"" && $4=="\"15\""' <<< "$s"
# => 123132,09808098,"0","15"
你可以試試下面嗎。(評論你的努力,你不需要使用帶有awk
cat
它可以自己讀取Input_file)
awk -F, '$3!~/\"0\"/ && $4!~/\"15\"/' Input_file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.