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