grep -l и grep -ln - PullRequest
       12

grep -l и grep -ln

5 голосов
/ 04 августа 2011

в соответствии с руководством для grep,

-l, --files-with-matches
          Suppress normal output; instead print the  name  of  each  input
          file  from  which  output would normally have been printed.  The
          scanning will stop on the first match.

grep -l, это нормально, если при обнаружении совпадения отображается имя файла, содержащего совпадение.

Однакокогда я делаю grep -ln, grep отображает каждую строку вхождения.

Действительно ли grep -l действительно означает остановку при обнаружении первого вхождения совпадения и остановку сканирования, тогда как grep -ln будет игнорировать-l флаг?

1 Ответ

6 голосов
/ 04 августа 2011

Эти параметры несовместимы.Используйте grep -Hnm 1, если вы хотите отобразить номер строки первого совпадения (и только первое совпадение) в каждом файле.

-H, --with-filename
Вывести имя файла для каждого совпадения.

-n, --line-number
Префикс каждой строки вывода с номером строки во входном файле.

-m NUM , --max-count = NUM
Прекратить чтение файла после NUM соответствующих строк.

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