这是columns.txt
aaa bbb 3
ccc ddd 2
eee fff 1
3 3 g
3 hhh i
jjj 3 kkk
ll 3 mm
nn oo 3
我可以找到第二列以“b”开头的行:
awk '{if(substr($2,1,1)=="b") {print $0}}' columns.txt
我可以找到第二列以“bb”开头的行:
awk '{if(substr($2,1,2)=="bb") {print $0}}' columns.txt
为什么哦为什么我找不到第二列中第二个字符是“b”的行?:
awk '{if(substr($2,2,2)=="b") {print $0}}' columns.txt
awk -W version
== GNU Awk 3.1.8
您可以使用:
awk 'substr($2,2,1) == "b"' columns.txt
aaa bbb 3
-
substr函数的第三个参数 https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html是字符串的长度。
-
print
是 awk 中的默认操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)