Найти строки с номерами - PullRequest
0 голосов
/ 11 июня 2019

Этот код, почему не может найти строки в файле, который содержит число?

head $1 | grep '^[.]*[0-9]{1,}[.]*'

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Если вы хотите найти все строки в файле «$ 1», которые содержат хотя бы цифру, вы можете просто использовать

 grep '[0-9]' "$1"

'head' дает только первые 10 строк файла. Просто используя grep без трубы '|' сканирует весь файл.

(Кстати: поместите $ 1 в двойные кавычки, чтобы убедиться, что имя файла обрабатывается правильно, если оно содержит какой-то специальный символ, например пробелы.)

0 голосов
/ 11 июня 2019

., когда используется в такой группе символов, как [.], означает буквальную точку.

Кроме того, не имеет значения, что находится перед или позади числа, когда вы просто ищете строки с числами .

Вы хотите:

head "$1" | grep '[0-9]'

или

head "$1" | grep '[[:digit:]]'

Вы можете прочитать: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html

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