- unixforum.org
- [РЕШЕНО] sed, как вывести номер строки (Номер строки начинающейся с $begin и заканчивающейся на $end)
- [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Re: [РЕШЕНО] sed, как вывести номер строки
- Grep с номером строки в выводе
- Предварительное условие
- Номер строки для сопоставления слова
- Номер строки всего текста в файле
- Показать только номер строки
- Обеспечить вывод в одной строке
- Показать номер строки строки в подкаталоге
- Показывать по слову в файле
- Bashrc
- Искать во всех файлах
- Искать в расширениях файлов
- Заключение
- Вывод файла в терминале с нумерацией строк
- Команда nl
- Команда cat с ключом -n
- Как в cat вывести номер строки, в которой найдено совпадение?
- 3 ответа 3
- Похожие
- Подписаться на ленту
unixforum.org
[РЕШЕНО] sed, как вывести номер строки (Номер строки начинающейся с $begin и заканчивающейся на $end)
[РЕШЕНО] sed, как вывести номер строки
Сообщение Disova » 05.09.2014 15:44
Всем добрый день. Подскажите как можно вывести с помощью sed номер строки начинающейся с $begin и заканчивающейся на $end.
Так выводит номер строки если заканчивается на end.
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение nerve » 05.09.2014 15:50
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение Disova » 05.09.2014 16:02
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение nerve » 05.09.2014 16:06
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение drBatty » 05.09.2014 16:50
Disova
только учтите, что номер строки выводится «не туда», а именно сразу на выход. Ну а другие команды работают с внутренним буфером. Потому выхлоп ‘=’ нельзя использовать внутри самой sed, только если вторую sed после поставить.
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение nerve » 05.09.2014 17:08
Disova
только учтите, что номер строки выводится «не туда», а именно сразу на выход. Ну а другие команды работают с внутренним буфером. Потому выхлоп ‘=’ нельзя использовать внутри самой sed, только если вторую sed после поставить.
drBatty, а можно разъяснить или показать примером?
Disova, только заметил что ты из Харькова)
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: [РЕШЕНО] sed, как вывести номер строки
Сообщение drBatty » 05.09.2014 17:28
тоже самое верно для sed-команд a,c,i и некоторых других.
Таким образом команда ‘=’ не слишком полезна, учитывая, что строки может нумировать даже cat
причём делает это красиво.
Grep с номером строки в выводе
Добавить в избранное
Главное меню » Linux » Grep с номером строки в выводе
П ечать глобального регулярного выражения (Grep) — это универсальная утилита, которая выполняет поиск в системе обычного текста с помощью различных регулярных выражений. С помощью команды Grep мы можем выполнять множество операций; мы можем исследовать файлы, отображать номер строки в качестве вывода, игнорировать пробелы и рекурсивно использовать Grep. Grep с номером строки отображает номер строки соответствующего текста, присутствующего в файле. Эта функция выполняется с помощью –n. Со страницы Grep мы легко можем описать разные команды.
Предварительное условие
Чтобы достичь этой текущей цели получения определенного номера строки текста, у нас должна быть система для запуска команд в ней, которая является операционной системой Linux. Linux установлен и настроен на виртуальной машине. После ввода имени пользователя и пароля вы сможете получить доступ к приложениям.
Номер строки для сопоставления слова
Обычно, когда мы используем команду Grep, после ключевого слова Grep пишется слово, которое необходимо изучить, и за ним следует имя файла. Но, получив номер строки, мы добавим -n в нашу команду.
Вот слово, которое нужно исследовать. Номер начальной строки показывает, что связанный файл содержит слово в разных строках; в каждой строке есть выделенное слово, которое показывает строку, совпадающую с релевантным поиском.
Номер строки всего текста в файле
Номер каждой строки в файле отображается с помощью определенной команды. Он не только показывает текст, но и закрывает пустые места, а также упоминает их номера строк. Цифры показаны в левой части вывода.
Fileb.txt — это имя файла. Тогда как n для номеров строк, а l показывает только имя файла. В случае, если мы искали определенное слово в любом файле, будут показаны только имена файлов.
Параллельно с предыдущим примером здесь (за исключением свободного места) упоминаются специальные символы. Они также отображаются и читаются командой для отображения номера строки. В отличие от первого примера статьи, эта простая команда показывает номер строки именно так, как он присутствует в файле. Поскольку ограничений поиска нет, объявляется в команде.
Показать только номер строки
Чтобы получить только номера строк данных в соответствующем файле, мы можем легко выполнить следующую команду.
$ grep –n command fileg.txt | cut –d: -f1
Первая половина команды перед оператором понятна, потому что мы обсуждали ранее в этой статье. Cut –d используется для вырезания команды, что означает подавление отображения текста в файлах.
Обеспечить вывод в одной строке
Следуя приведенной выше команде, вывод отображается в одной строке. Он удаляет лишнее пространство между двумя строками и показывает только номер строки, упомянутый в предыдущих командах.
$ grep –n command fileg.txt | cut –d:-f1 | tr “\n” “ “
Правая часть команды показывает, как отображается вывод. Вырезание используется для вырезания команды. В то время как второй «|» применяется для приведения к одной строке.
Показать номер строки строки в подкаталоге
Эта команда используется для демонстрации примера подкаталогов. Он будет искать слово «500» в файлах в данном каталоге.
Этот пример хорош для определения вероятности возникновения ошибки в вашей системе путем проверки и сортировки определенных слов из каталога или подкаталога. /etc/ описывает путь к каталогу, в котором находится папка служб.
Показывать по слову в файле
Как уже было описано в примерах выше, это слово помогает искать текст внутри файлов или папок. Искомые слова будут записаны в кавычки. В самой левой части вывода упоминается номер строки, показывающий вхождение имени в той или иной строке в файле.
$ grep –n ‘AndreyEx’ fileme.txt
Вывод показывает всю строку в файле, а не только одно слово, присутствующее в строке, и выделяет только данное слово.
Bashrc
Это полезный пример получения номера строки в выводе. Это будет искать во всех каталогах, и нам не нужно указывать путь к каталогу. По умолчанию это реализовано во всех каталогах. Он показывает все выходные данные для файлов, присутствующих в подкаталогах, так как нам не нужно упоминать конкретное слово для поиска с помощью команды.
Это расширение всех имеющихся папок. Указав имя расширения, мы можем показать соответствующие данные, то есть файлы с подробным описанием входа в систему.
Искать во всех файлах
Эта команда используется для поиска файла во всех файлах, содержащих эти данные. Файл * показывает, что он будет искать во всех файлах. Имя файла отображается с номером строки после имени в начале строки. Соответствующее слово выделяется, чтобы показать наличие слова в тексте файла.
Искать в расширениях файлов
В этом примере слово ищется во всех файлах с определенным расширением, то есть .txt. Каталог, указанный в команде, — это путь ко всем предоставленным файлам. Вывод также показывает путь в соответствии с расширением. Номер строки указывается после имен файлов.
Заключение
В этой статье мы узнали, как получить номер строки в выводе, применяя различные команды. Мы надеемся, что эти усилия помогут собрать достаточно информации по соответствующей теме.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Вывод файла в терминале с нумерацией строк
Расскажу о двух простых способах вывода текстового файла в терминале с отображением номеров строк. Это может быть полезно, например, программистам или тем, кто много работает с конфигурационными файлами, используя терминал в Linux.
Для теста я буду использовать файл следующего содержания, содержащий 4 строки:
Строка номер один Строка номер три Строка номер четыре
Вторая строка в файле пустая.
Команда nl
В простейшем случае для команды nl необходимо указать имя файла:
В результате на экран будет выведено содержимое файла, а слева будут стоять номера строк:
$ nl textfile 1 Строка номер один 2 Строка номер три 3 Строка номер четыре
Обратите внимание, что пустую строку в файле команда nl проигнорировала. Для того, чтобы учитывались все строки используется ключ -ba:
$ nl -ba textfile 1 Строка номер один 2 3 Строка номер три 4 Строка номер четыре
Команда nl поддерживает различные форматы вывода (стили) и некоторые дополнительные опции. Для получения справки выполните:
Команда cat с ключом -n
У команды cat есть аргумент -n, который предназначен для вывода файла с нумерацией строк. Выполним:
cat -n textfile 1 Строка номер один 2 3 Строка номер три 4 Строка номер четыре
Мы получили аналог выполнения nl -ba textfile. Для пропуска пустых строк необходимо использовать ключ -b:
Как в cat вывести номер строки, в которой найдено совпадение?
В общем, буду весьма благодарен, если подскажете, как вывести номер строки, в которой найдено совпадение. Делаю:
3 ответа 3
cat умеет такое делать, или нет?
cat не умеет такого делать, т.к. не занимается поиском совпадений.
Всё в этом вопросе сводится к grep-у и его возможностям. Поэтому проще будет так:
grep -n "string_for_searching" file.txt
@misdeed вы ответьте на свой вопрос Как в cat вывести номер строки, в которой найдено совпадение? не пользуясь программой grep . То что cat умеет нумеровать строки в своем выводе — я в курсе.
хорошо, хорошо. Я понял. Просто я устал, поэтому уже туплю немножк. Но cat -n file.txt | grep 404 работает практически так же, как и cat file.txt | grep -n 403 )))
@misdeed я ни в коем случае не с наездом это пишу, а правды ради. Да, по конечному результату будет практически так же. Кстати, cat -n file.txt | grep 404 и cat file.txt | grep -n 403 даст разный результат ;]
Да, оказывается cat умеет печатать номер строки.
UPD: Это может делать и grep:
Извиняюсь за комментарий к правке. В проверке не посмотрел автора вопроса) Всё же считаю правку уместной, лирическое отступление о гугле лишнее.
-n вывести номер строки
; разделитель команд
/403/ шаблон поиска
p печать самой строки
echo '' | sed -n '/403/=;p' 1
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.17.43537
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.