awk 中的多重模式识别
Multiple pattern recognition in awk
我有一个格式如下的文件:
COL1 COL2 COL3 COL4
我对 COL2
(字符串)和 COL4
(数字)感兴趣。
我需要同时验证 COL2="PATTERN"
和没有小数的 COL4
= 32(例如).
我知道如何进行 COL2
模式识别,例如:
awk -F"\t" '="PATTERN" {print }' file
但我未能强加第二个条件或将两者结合起来。
欢迎任何解决此问题的帮助。
谢谢
试试这个:
awk ' == "pattern" && int() == 32 {print }' file
我在这里做了一个测试,它有效:
echo "foo1 foo2 foo3 123.43" | awk ' == "foo2" && int() == 123 {print }'
output: 123.43
第二个条件是^[0-9]$
。使用 &&
链接正则表达式。
我有一个格式如下的文件:
COL1 COL2 COL3 COL4
我对 COL2
(字符串)和 COL4
(数字)感兴趣。
我需要同时验证 COL2="PATTERN"
和没有小数的 COL4
= 32(例如).
我知道如何进行 COL2
模式识别,例如:
awk -F"\t" '="PATTERN" {print }' file
但我未能强加第二个条件或将两者结合起来。
欢迎任何解决此问题的帮助。
谢谢
试试这个:
awk ' == "pattern" && int() == 32 {print }' file
我在这里做了一个测试,它有效:
echo "foo1 foo2 foo3 123.43" | awk ' == "foo2" && int() == 123 {print }'
output: 123.43
第二个条件是^[0-9]$
。使用 &&
链接正则表达式。