使用awk在字符串中查找字符串

时间:2011-12-12 21:30:46

标签: string awk

这是文件中的第6列:

ttttttttttt
tttttttttt
ttttttttt
tttttttattt
tttttttttt
ttttttttttt

如何使用awk打印包含“a”

的行

4 个答案:

答案 0 :(得分:4)

如果您只想搜索第六列,请使用:

awk '$6 ~ /a/' file

如果你想要整行,那么任何一行都应该有效:

awk /a/ file

grep a file

sed '/^[^a]*$/d' file

答案 1 :(得分:3)

如果您只想打印第6列包含a的那些行,那么这将有效 -

awk '$6~/a/' file

答案 2 :(得分:1)

你可以尝试

gawk '{ if ( $1 ~ /a/ ) { print $1  } }' filename

答案 3 :(得分:0)

如果它是完全匹配(你不是),你正在寻找:

$ 6 ==“a”

http://www.pement.org/awk/awk1line.txt 是一个很好的资源

awk还可以告诉你模式在列中的位置:

awk '{++line_num}{ if ( match($6,"a")) { print "found a at position",RSTART, " line " ,line_num}  }' file

虽然这个例子只显示第6列中的第一个“a”;需要一个for循环来显示所有实例(我认为)