Это не вообще легко объяснить, но легкий просто показать.
У меня есть строки в файле, такие как:
100Dollars 3 IP
200Dollars 3 IP
300Dollars 4 IP
Мне нужно к grep для строк, которые не имеют никакого '3' во втором столбце. Я попробовал следующее:
egrep -v '3' filename
Однако это не возвращает третью строку из-за наличия 3 в первой части его. Существует мой основной вопрос, если это имеет смысл.
Как я исключаю то, что находится в первом столбце и только grep для того, что находится во втором столбце?
Я думаю, что Вы хотите подойти к awk или grep, который может сделать столбцы (среди многих других вещей)
gawk '$1 ~ /3/ && $2 !~ /3/{print $0}' < filename
Должен сделать это.
Это ищет 3 в первом столбце (Столбцы пронумерованы, начав 1 в awk, 0$ целая строка), и не 3 во втором столбце, и раз так распечатайте целую строку (0$)