Трюк в командной строке - Извлечь информацию из файлов. Linux статьи

Трюк в командной строке — Извлечь информацию из файлов

0

Извлекаем информацию из файлов в Linux

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

Для извлечения информации из файлов мы воспользуемся возможностями команды cut

Извлекаем информацию из файлов конфигурации

Каждый файл конфигурации в Linux имеет свой определенный формат. Предположим, что нам мы работаем с файлом /etc/passwd. Это файл, в котором хранится информация обо всех пользовательских учетных записях в системе Linux.

Чтобы вывести файл на экран, выполним команду cat:

cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
...

Команда cat Выводим файл

В результате мы получим в командной строке полное содержимое файла /etc/passwd Информация о каждом пользователе выводится на отдельной строке в следующем формате:

имя:пароль:идентификатор:номер_группы:комментарий:директория:shell

Теперь, предположим, что мы хотим получить только список имен всех пользователей из файла /etc/passwd, без какой-либо дополнительной информации. То есть нам нужно извлечь из каждой строки файла имя пользователя. Для этого мы воспользуемся возможностями команды cut (не путать с командой cat).

Мы будем использовать две опции команды cut

  • -d (или --delimiter=РАЗДЕЛИТЕЛЬ) — задает разделитель при обработке файла (по умолчанию используется символ табуляции).
  • -f (или --fields=СПИСОК) — задает номера полей, которые нужно извлечь.

Выводим избранные поля из файла

Выведем только имена пользователей из файла /etc/passwd

cut -d: -f1 /etc/passwd

root
daemon
bin
sys
sync
games
...

Команда cut Вырезаем часть файла

  • Мы использовали опцию -d:, чтобы указать в качестве разделителя символ двоеточия :
    Это значит, что каждая строка файла разделяется на поля (части) по символу двоеточия.
  • Опция -f1 используется, чтобы выбрать в каждой строке первое поле.

Теперь выведем имена пользователей и их домашние директории. Для этого в списке полей добавим через запятую поле номер 6 (в нем выводится путь до домашней директории пользователя).

cut -d: -f1,6 /etc/passwd

...
avahi:/var/run/avahi-daemon
colord:/var/lib/colord
hplip:/var/run/hplip
gnome-initial-setup:/run/gnome-initial-setup/
gdm:/var/lib/gdm3
pingvinus:/home/pingvinus
systemd-coredump:/

Команда cut Извлекаем информацию из файлов кофигурации в Linux

Заключение

Команда cut обладает и другими возможностями по извлечению информации из файлов в командной строке Linux. Для просмотра справки по команде cut, выполните команду:

man cut
Войдите, чтобы ставить лайкимне нравится
Лайков: +2
войдите, чтобы ставить лайки
0

Комментарии

Комментариев пока не было.

Написать комментарий

Ваше имя:
Текст комментария: