Как использовать `grep` для выбора строк с колонкой> 1? - PullRequest
0 голосов
/ 20 сентября 2009

Я получаю результаты, как показано ниже, из конвейера в Linux:

1 test1
1 test2
2 test3
1 test4
3 test5
1 test6
1 test7

Как я могу использовать grep для извлечения только строк, где первый столбец> 1?

Ответы [ 3 ]

6 голосов
/ 20 сентября 2009

Не используйте grep для этого. Попробуйте awk вместо:

 <pipeline> | awk '$1>1 {print $0}'
3 голосов
/ 20 сентября 2009
grep -v "^1"
  • -v выбирает несовпадающие строки
  • ^ - начало строки

РЕДАКТИРОВАТЬ: Как указано в комментариях, это решение не отфильтровывает строки, начинающиеся с многозначных чисел. Добавление пробела после 1 решает проблему:

grep -v "^1 "
1 голос
/ 20 сентября 2009

используйте символ "^", он отмечает начало строки

-v не будет содержать строки, начинающиеся с 1

включает дополнительный пробел, поэтому он исключит строки типа «1 asd», но не «12 asd»

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