41111111111Rating 4.00 (1 Vote)

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

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

Cat

Самое наверное часто-используемая, достаточно просто используется:

cat rpm-list.txt 

Результат:

intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64
libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
perl-Pod-Checker-1.73-417.fc29.noarch
php-php-gettext-1.0.12-5.fc29.noarch
libcmis-0.5.2-1.fc29.x86_64
...

В том числе, к примеру позволяет просмотреть вывод с нумерацией строк:

cat -n rpm-list.txt
     1	intltool-0.51.0-13.fc29.noarch
     2	libreport-plugin-logger-2.10.0-1.fc29.x86_64
     3	lame-libs-3.100-4.fc29.x86_64
     4	libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
     5	perl-Pod-Checker-1.73-417.fc29.noarch
     6	php-php-gettext-1.0.12-5.fc29.noarch
     7	libcmis-0.5.2-1.fc29.x86_64

О всех доступных опция можно прочитать на man-pages cat, но есть еще одна утилита, которая позволяет просмотреть содержимое с нумерацией из коробки, это nl

Nl

Здесь все просто:

nl rpm-list.txt
     1	intltool-0.51.0-13.fc29.noarch
     2	libreport-plugin-logger-2.10.0-1.fc29.x86_64
     3	lame-libs-3.100-4.fc29.x86_64
     4	libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
     5	perl-Pod-Checker-1.73-417.fc29.noarch
     6	php-php-gettext-1.0.12-5.fc29.noarch
     7	libcmis-0.5.2-1.fc29.x86_64

Можно так-же просмотреть содержимое с определенной строки с определенным интервалом:

nl -v 3 -i 2 rpm-list.txt | head -10
     3	intltool-0.51.0-13.fc29.noarch
     5	libreport-plugin-logger-2.10.0-1.fc29.x86_64
     7	lame-libs-3.100-4.fc29.x86_64
     9	libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
    11	perl-Pod-Checker-1.73-417.fc29.noarch
    13	php-php-gettext-1.0.12-5.fc29.noarch
    15	libcmis-0.5.2-1.fc29.x86_64
    17	python2-backports-1.0-15.fc29.x86_64
    19	gnutls-dane-3.6.6-1.fc29.x86_64
    21	hunspell-1.6.2-3.fc29.x86_64

Подробнее на man-pages nl

Head

В отношении просмотра определенного количества строк, есть head, по умолчанию отображает первые 10 строк файла:

head rpm-list.txt
intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64
libreoffice-langpack-en-6.1.5.2-4.fc29.x86_64
perl-Pod-Checker-1.73-417.fc29.noarch
php-php-gettext-1.0.12-5.fc29.noarch
libcmis-0.5.2-1.fc29.x86_64
python2-backports-1.0-15.fc29.x86_64
gnutls-dane-3.6.6-1.fc29.x86_64
hunspell-1.6.2-3.fc29.x86_64

Можно указать нужное количество строк, например 3:

head -3 rpm-list.txt 
intltool-0.51.0-13.fc29.noarch
libreport-plugin-logger-2.10.0-1.fc29.x86_64
lame-libs-3.100-4.fc29.x86_64

Tail

Если же head "смотрит" с начала файла, то tail "смотрит" смотрит с конца и так-же по умолчанию отображает 10 последних строк:

tail rpm-list.txt 
efi-filesystem-3-3.fc29.noarch
libwayland-client-1.16.0-1.fc29.i686
qemu-system-x86-3.0.0-4.fc29.x86_64
readline-7.0-12.fc29.x86_64
libXcursor-1.1.15-4.fc29.i686
libselinux-devel-2.8-6.fc29.x86_64
gnome-vfs2-common-2.24.4-27.fc29.noarch
elfutils-libs-0.176-1.fc29.x86_64
gdal-libs-2.3.2-1.fc29.x86_64
apr-1.6.5-1.fc29.x86_64

Можно указать количество строк, например 3:

tail -n 3 rpm-list.txt 
elfutils-libs-0.176-1.fc29.x86_64
gdal-libs-2.3.2-1.fc29.x86_64
apr-1.6.5-1.fc29.x86_64

Tail очень хороший помошник в плане реалтайм-мониторинга на предмет изменений содержимого файлов, о всех возможностях можно прочитать на man-pages tail (есть еще одна утилита, которая помогает в этом - less).

Заключение

Разные команды можно комбинировать через пайп, например так:

cat file.txt | head -10

Есть еще команды которые позволяют совершить просмотр содержимого файлов, таких как more, pg, tee, split, od т.е. есть еще куда расти, но об этом возможно в следующий раз :)

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


Защитный код
Обновить

Сейчас 368 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз