我知道,通过使用:如何基于列的匹配条件拆分文件?
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