Поиск по сайту:
Всякий слышит лишь то, что понимает (Плавт).

Как отобразить определенные строки файла в командной строке Linux

03.08.2020
Как отобразить определенные строки файла в командной строке Linux

Как найти n-ую строку в файле в командной строке Linux? Как отобразить номер строки x для номера строки y?

В Linux существует несколько способов достижения одного и того же результата. Печать определенных строк из файла не является исключением.

Для отображения 13-й строки вы можете использовать комбинацию головы и хвоста:

head -13 file_name | tail +13

 

Или вы можете использовать команду sed:

sed -n '13p' file.txt

 

Чтобы отобразить номера строк от 20 до 25, вы можете объединить команды head и tail следующим образом:

head -25 file_name | tail +20

 

Или вы можете использовать команду sed следующим образом:

sed -n '20,25p' lines.txt

 

Подробное объяснение каждой команды следует далее. Мы также покажем использование команды awk для этой цели.

 

Отображение определенных строк с помощью команд head и tail

Это один из распространенных способов отображения выбранных строк. Нам легче запомнить и использовать.

 

Используйте комбинацию команды head и tail в следующей функции номер строки x:

head -x file_name | tail +x

 

Вы можете заменить x номером строки, которую хотите отобразить. Итак, допустим, вы хотите отобразить 13-ю строку файла.

destroyer@andreyex:~$ head -13 lines.txt | tail +13
Это номер строки 13

 

Объяснение : Вы, вероятно, уже знаете, что команда head получает строки файла с самого начала, а команда tail – с конца.

Читать  Устранение проблем с твердотельным накопителем NVME в Linux

Часть «head -x» команды получит первые x строк файлов. Затем он перенаправит этот вывод в команду tail. Команда tail отображает все строки, начиная с номера строки x.

Совершенно очевидно, что если вы возьмете 13 строк сверху, строки, начинающиеся с номера 13 до конца, будут 13-й строкой. Это логика этой команды.

 

Теперь давайте возьмем нашу комбинацию команд head и tail, чтобы отобразить более одной строки.

Скажем, вы хотите отобразить все строки от х до у. Это включает в себя также x и y строки:

head -y lines.txt | tail +x

 

Давайте возьмем практический пример. Предположим, вы хотите напечатать все строки от строки № 20 до 25:

destroyer@andreyex:~$ head -25 lines.txt | tail +20
Это номер строки 20
Это номер строки 21
Это номер строки 22
Это номер строки 23
Это номер строки 24
Это номер строки 25

 

Используйте SED для отображения определенных строк

Мощная команда sed предоставляет несколько способов печати определенных строк.

Например, для отображения 10-й строки вы можете использовать sed следующим образом:

sed -n '10p' file.txt

 

-n подавляет вывод, в то время как команда p печатает определенные строки. Прочитайте это руководство SED, чтобы узнать и понять его в деталях.

Sed является обязательной командой для системных администраторов Linux. В этом подробном руководстве подробно рассматриваются все команды Sed и модель исполнения инструмента.

Чтобы отобразить все строки от номера строки x до номера строки y, используйте это:

destroyer@andreyex:~$ sed -n '3,7p' lines.txt 
Это номер строки 3
Это номер строки 4
Это номер строки 5
Это номер строки 6
Это номер строки 7

 

Читать  Docker/Docker Compose/Docker Run host network vs bridge network (как настроить режим моста/хоста для docker, с помощью команды run или docker compose)

Используйте AWK для печати определенных строк из файла

Команда awk может показаться сложной, и, безусловно, здесь задействована кривая обучения. Но, как и sed, awk также довольно мощный инструмент для редактирования и манипулирования содержимым файлов.

destroyer@andreyex:~$ awk 'NR==5' lines.txt 
Это номер строки 5

 

NR обозначает «текущий номер записи». Пожалуйста, прочитайте наше руководство по команде AWK для получения дополнительной информации.

Чтобы отобразить все строки от x до y, вы можете использовать команду awk следующим образом:

destroyer@andreyex:~$ awk 'NR>=20 && NR<=25' lines.txt 
Это номер строки 20
Это номер строки 21
Это номер строки 22
Это номер строки 23
Это номер строки 24
Это номер строки 25

 

Следует синтаксис, который похож на большинство языков программирования.

Мы надеемся, что эта быстрая статья помогла вам в отображении определенных строк файла в командной строке Linux. Если вы знаете какой-то другой прием для этой цели, поделитесь им с остальными в разделе комментариев.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
max

рад что разобрался с сертификатом для сайт

Это может быть вам интересно


Рекомендуемое
cURL - это утилита командной строки для передачи данных с…

Спасибо!

Теперь редакторы в курсе.