найти строку в строке, используя awk - PullRequest
3 голосов
/ 13 декабря 2011

вот столбец 6 в файле:

ttttttttttt
tttttttttt
ttttttttt
tttttttattt
tttttttttt
ttttttttttt

как я могу использовать awk для распечатки строк, которые включают "a"

Ответы [ 4 ]

4 голосов
/ 13 декабря 2011

Если вы хотите выполнить поиск только в шестом столбце, используйте:

awk '$6 ~ /a/' file

Если вы хотите получить всю строку, любой из них должен работать:

awk /a/ file

grep a file

sed '/^[^a]*$/d' file
3 голосов
/ 13 декабря 2011

Если вы хотите напечатать только те строки, в которых 6-й столбец содержит a, это сработает -

awk '$6~/a/' file

1 голос
/ 13 декабря 2011

Вы можете попробовать

gawk '{ if ( $1 ~ /a/ ) { print $1  } }' filename
0 голосов
/ 13 февраля 2015

, если вы ищете точное совпадение (которого у вас нет):

$ 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

, хотя в этом примере будет отображаться только первое «a» в столбце 6;цикл for необходим для отображения всех экземпляров (я думаю)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...