скрипт оболочки для печати строк, если в столбце 2 есть значение

скрипт оболочки для печати строк, если в столбце 2 есть значение
1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3

Как мне распечатать все строки, в которых есть2во втором столбце.

решение1

Используя awk(или его аналог gawk):

gawk '$2==2 {print $0}' inputfile

В awkстолбцах обозначены как $, с $1первым столбцом, $2вторым и т. д. Вся строка задается как $0. Таким образом, этот пример гласит: если столбец 2 равен 2, вывести всю строку.

Редактировать: как сказал devnull ниже:

gawk '$2==2' inputfile 

достаточно. Чтобы напечатать строки с 2 во втором столбце и 4 в последнем $NF, используйте , что означает Количество полей (т.е. последний столбец):

gawk '$2==2 && $NF==4'  inputfile

Связанный контент