Обзор
В среде Linux команда cat является наиболее широко используемым базовым инструментом для быстрого просмотра и объединения содержимого текстовых файлов. Помимо простого просмотра файлов, мы на практике в среде Ubuntu разберем ключевые опции, которые максимально повышают эффективность повседневной работы: нумерацию строк, сжатие пустых строк и визуализацию спецсимволов. Сравните поведение различных опций и реальный вывод в терминале, чтобы вывести свою продуктивность в терминале на новый уровень.
1. Создание тестового файла и базовый просмотр
Для отработки различных опций команды cat создадим файл sample.txt, содержащий несколько пустых строк подряд, символы табуляции и пробелы в конце строк.
![printf ‘First line\n\n\nSecond line with tab:\t[TAB]\nThird line with trailing space \n’ > sample.txt](/ubuntu/20261008_012749_4/captures/s01_c01_printf__First_line_n_n_nSecond_line_with_tab__t_TA.png)
Команда cat выводит содержимое указанного файла на экран терминала как есть.
При запуске без опций она отображает исходный текст файла в неизменном виде.
⚙️ [Основные опции]
-n : Нумерует все строки при выводе, включая пустые.-b : Нумерует только непустые строки при выводе.-s : Сжимает две и более идущие подряд пустые строки в одну пустую строку.-E : Отображает символ $ в конце каждой строки, обозначая перевод строки.-T : Отображает символы табуляции (Tab) в виде ^I для визуального различия.

2. Сравнение опций нумерации строк (-n против -b)
Команда cat -n sample.txt выводит все строки файла с добавлением номеров.
Это удобно для проверки общей структуры и позиции строк, включая пустые строки без текста (строки 2 и 3).

Команда cat -b sample.txt нумерует только непустые строки.
Строки без содержимого пропускаются при нумерации, что позволяет легко оценить реальное количество строк с полезными данными.

3. Сжатие повторяющихся пустых строк для улучшения читаемости (-s)
Команда cat -s sample.txt сжимает последовательности пустых строк в одну пустую строку.
Это полезно для сокращения лишних пустых отступов и улучшения читаемости документа в целом.

Команда cat -ns sample.txt одновременно сжимает повторяющиеся пустые строки и нумерует все строки при выводе.
Это позволяет наглядно оценить общее число строк и расположение текста после сжатия.

4. Визуализация невидимых спецсимволов, переносов строк и табуляций (-E, -T, -A)
Команда cat -E sample.txt выводит знак $ в конце каждой строки (на месте переноса строки).
Она помогает наглядно проверить наличие невидимых пробелов на концах строк (trailing space) или лишних переводов строк.

Команда cat -T sample.txt заменяет символы табуляции (Tab) на ^I при выводе на экран.
Это позволяет четко отличить обычные пробелы от символов табуляции, что незаменимо при поиске ошибок в отступах кода или конфигурационных файлов.

Команда cat -A sample.txt визуализирует все скрытые управляющие символы, переводы строк и табуляции.
Она работает эквивалентно комбинации -vET, одновременно отображая табуляцию (^I) и перевод строки ($), что делает её идеальным выбором для комплексного поиска скрытых ошибок, связанных с пробельными символами.

5. Объединение нескольких файлов и создание файлов с помощью EOF
Для практического объединения файлов создадим файл header.txt, содержащий заголовок.

Команда cat header.txt sample.txt > merged.txt объединяет содержимое двух файлов header.txt и sample.txt по порядку и сохраняет результат в новый файл merged.txt.
Это эффективный способ объединения нескольких текстовых файлов в один или добавления вводной части в начало документа.

Команда cat << 'EOF' > append_test.txt использует синтаксис Here Document для записи многострочного текста в файл append_test.txt до ввода маркера EOF.
Она удобна для быстрого создания многострочных файлов прямо в командной оболочке без открытия текстового редактора.

Команда cat merged.txt append_test.txt последовательно объединяет и выводит в терминал содержимое ранее созданных файлов merged.txt и append_test.txt.
С её помощью можно сразу убедиться, что объединенные данные выстроены в правильном порядке.

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