Если муху с монитора ты сгоняешь мишкой, значит, тебе пора идти домой. (Неизвестный автор)

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

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
3 августа 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 – с конца.

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

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

 

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

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

head -y lines.txt | tail +x

 

Читать  Как сжать PDF в Linux [GUI & Терминал]

Давайте возьмем практический пример. Предположим, вы хотите напечатать все строки от строки № 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

 

Используйте 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. Если вы знаете какой-то другой прием для этой цели, поделитесь им с остальными в разделе комментариев.

Читать  Исправление ошибки "HTTP Basic: Access Denied" и "Fatal Authentication Failure" с помощью GitLab

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close