这里是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
我可以find第二列以“b”开头的行:
awk '{if(substr($2,1,1)=="b") {print $0}}' columns.txt
我可以find第二列以“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
函数的第三个参数是字符串的长度。 print
是awk中的默认操作。 awk '$2 ~ /^.b/' columns.txt
. awk '$2 ~ /^.b/' columns.txt
也可以。