这是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
答案 0 :(得分:4)
您可以使用:
awk 'substr($2,2,1) == "b"' columns.txt
aaa bbb 3
substr
function's 3rd argument是字符串的长度。print
是awk中的默认操作。答案 1 :(得分:3)
awk '$2 ~ /^.b/' columns.txt
也可以。