У меня есть очень длинный файл со строками с несколькими столбцами чисел - более 3 столбцов на каждую строку, за исключением одной строки. Это очень большой файл, и я пытаюсь найти строку, которая имеет только 13
. Поскольку это большой файл, когда я выполняю grep 13
, я получаю много строк с числами, в которых где-то 13
. Как я могу использовать grep
таким образом, чтобы возвращались только строки, содержащие 13
с wc=1
?
1 ответ
1
grep(1)
имеет возможность поиска только целых строк, которые соответствуют заданному регулярному выражению:
-x, --line-regexp
Only input lines selected against an entire fixed string or
regular expression are considered to be matching lines.
Предполагая, что строки, которые вы хотите сопоставить, не содержат пробелов, команда:
grep -x 13
обеспечит вывод, который вы ищете.
OTOH, если строки, которые вы хотите сопоставить, содержат начальные и / или конечные пробелы, вам нужен более сложный шаблон:
grep -x '[[:blank:]]*13[[:blank:]]*'