Intereting Posts
Как написать сценарий для подсчета общего количества файлов и каталогов в моем домашнем каталоге, а затем отобразить его? Использование wget для получения имен файлов из текстового файла сравнение времени, заданного пользователем для времени файла журнала Предложить дополнительный файловый дескриптор «stdmeta» Можно ли использовать libc на самой стадии загрузчика? процесс init: предок всех процессов? Не могли бы вы объяснить это создание «chroot» / tmp? Есть ли способ узнать, сколько экземпляров пользователя root регистрируется на Linux-машине? Почему mkfs может записывать SSD со скоростью 10 ГБ / с Как настроить Ethernet в Gentoo на s390x? Какова полезность команды: в сценариях оболочки, учитывая, что она явно ничего не делает? Каталог / файлы, принадлежащие несуществующему пользователю Не удается разрешить все имена после подключения к VPN Как установить компакт-диск на Solaris 10? yum install R проблема зависимости (RHEL 5.5)

найти только первое появление, используя только grep

Предположим, у меня есть файл со многими словами, я хочу найти только первое слово с шаблоном «xyz». Как это сделать, если в этой строке есть несколько слов с этим шаблоном? -m возвращает все слова в первой строке, в которой он совпадает. Мне нужна только команда grep.

По умолчанию grep печатает строки, соответствующие шаблону, поэтому, если шаблон появляется один или несколько раз в строке, grep будет печатать эту целую строку.

Добавление флага -m 7 покажет grep для печати только первых 7 строк, где отображается шаблон.

Так что это должно делать то, что вы хотите (я его не тестировал):

 grep -o -m 1 xyz myfile | head -1 

Edit: как указано в @ Kusalananda, вам не нужен флаг -m но с его помощью grep не нужно разбирать весь файл и будет выводить результат быстрее, особенно если myfile – это большой файл.

Ответ на ваш вопрос находится на странице grep man:

$ grep -m1 'searchstring' имя_файла

Параметр -m является ключом.-M1 отображает только первое совпадение, -m 2 первые 2 вхождения и так далее.

Я надеюсь, это поможет вам.