簡體   English   中英

使用awk模式來過濾數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM