我知道,通過使用:如何基於列的匹配條件拆分文件?
awk '($18 ~ 0)' file > match
我得到的一切在18日現場有0行。因此,我試圖執行相同的邏輯分割基於文件閹第18字段有一個「0」與否:
awk -F, '{ if ($18 ~ 0) print > "match"; else print > "not_match"}' file
但不工作,沒有線被印刷在「匹配」。
我在做什麼錯?你知道其他方式在bash中做到這一點嗎?
謝謝你的時間!
我知道,通過使用:如何基於列的匹配條件拆分文件?
awk '($18 ~ 0)' file > match
我得到的一切在18日現場有0行。因此,我試圖執行相同的邏輯分割基於文件閹第18字段有一個「0」與否:
awk -F, '{ if ($18 ~ 0) print > "match"; else print > "not_match"}' file
但不工作,沒有線被印刷在「匹配」。
我在做什麼錯?你知道其他方式在bash中做到這一點嗎?
謝謝你的時間!
這裏的拆分文件的有條件基於字段值線的最小完整的例子:
[[email protected]]$ cat > /tmp/blah
0 Yes
1 No
1 No
0 Yes
1 No
[[email protected]]$ awk '($1 ~ 0) { print > "/tmp/match"; next } { print > "/tmp/non_match" }' /tmp/blah
[[email protected]]$ cat /tmp/match
0 Yes
0 Yes
[[email protected]]$ cat /tmp/non_match
1 No
1 No
1 No
無法重現。如果您在控制檯上進行打印而不是將其重定向到文件,它會起作用嗎? –
爲我工作的行在文件'匹配'和'not_match' – amdixon
你能提供一行數據,你認爲應該坐在「匹配」但不是? – Kent