Команда cat
– это самый простой способ объединения файлов в Linux. Это сокращение от conCATenation, но это нечто большее, чем просто копирование/вставка одного файла рядом с другим.
Основной формат для команды CAT
Так обычно используется команда cat
:
cat file1 file2 file3 > output
Порядок добавления файлов рядом друг с другом основан на порядке записи файлов в команде. В этом примере, когда вы откроете файл output, за содержимым файла file1 последует file2, затем file3 и так далее.

Вы можете добавить столько файлов, сколько захотите, пока ваша файловая система может поддерживать конечный размер выходного файла.
Кроме того, как и во всех командах терминала Linux, вам нужно будет указать расширение файла, когда вы добавляете их. Например, если вы работали с файлами JSON и планировали объединить два таких файла вместе, вам нужно будет напечатать это следующим образом:
cat file1.json file2.json > combined_file.json
CAT без выходной части
Для cat
выходная часть необязательна. Удаление этой части выводит содержимое каждого файла в терминал.

Вы также можете сделать это для отдельных файлов. Помните, что здесь вы не сможете редактировать содержимое, как при работе с файлами DOC или TXT в текстовом редакторе. Команда cat
становится больше похожей на просмотрщик текстовых файлов, чем на редактор.
Флаги команды CAT
Существует шесть флагов, которые вы можете использовать при работе с CAT в Linux:
-n
перечислять все строки, начиная с 1.-b
перечислять только те строки, которые содержат символы.-s
сжимать несколько последовательных пустых строк в одну пустую строку.-e
помечать конец каждой строки.-q
не выводить сообщение, если CAT не может найти входной файл.-t
отображать символы табуляции как^I
.
Мы рассмотрим, как работает каждый из них и как их можно использовать.
Использование флага -n
Флаг -n
перечисляет содержимое файла по строкам и выводит его на терминал. Он не редактирует сам файл.
cat -n file1.txt
Но вы все равно можете сохранить вывод (с перечислением), сделав следующее:
cat -n file1.txt > file2.txt

Это перечисляет содержимое «file1.txt» и сохраняет его в «file2.txt».
Вы также можете перечислить несколько файлов вместе. Команда cat
продолжит отсчет после конца первого файла. Если первый файл заканчивается на 33, то следующий будет начинаться с 34 и так далее.
Использование флага -b
Проблема с флагом -n
в том, что он также перечисляет пустые строки. Если у вас есть файл с большим количеством пробелов для компоновки или удобства чтения, вам понадобится флаг -b
.
cat -b file1.txt

Формат для флага -b
работает так же, как и для флага -n
. Кроме того, если вы используете их вместе, флаг -b
будет преобладать над флагом -n
, независимо от того, как вы их упорядочите.
Использование флага -s
Флаг -s
– это еще один удобный флаг команды cat
для тех случаев, когда в ваших файлах много белого пространства. Он сокращает все повторяющиеся пробелы до одного, что облегчает чтение.
cat -s file2.txt

Этот флаг ищет по крайней мере 2 последовательные пустые строки перед их объединением. Если ваш файл содержит одну пустую строку между двумя заполненными, он пропустит ее и будет искать следующую.
Использование флага -e
Флаг -e
находит конец каждой строки и добавляет $
в конце каждой строки.
cat -e file1.txt

Этот флаг облегчает работу с текстовыми файлами при использовании регулярных выражений или regex. Вы можете попросить дополнительный скрипт или программу прочитать содержимое сохраненного файла и проверить концы с помощью regex.
Не забывайте, что флаг -e
также добавляет $
в конце каждой пустой строки, поэтому вы можете использовать его вместе с -s
, чтобы все выглядело чище.
Использование флага -t
Флаг -t
похож на флаг -e
, но вместо него ищет «символ табуляции» и заменяет его на ^I
. Этот флаг хорош тем, что он умеет отличать символ табуляции от символа двойного пробела.
cat -t file1.txt > file2.txt

Это означает, что если вы используете флаги -n
или -b
вместе с флагом -t
, он будет считать символы пробела такими, какие они есть, и оставит их как есть. То же самое произойдет, если вы добавите тонну пробелов, чтобы имитировать символ «табуляции».
Использование команд CAT в Linux
Команду cat
следует использовать только тогда, когда вы пытаетесь объединить текстовые файлы построчно. Не ждите, что команда cat
возьмет две строки текста и объединит их в одну.

С другой стороны, вы увидите много пользы от этой команды, когда попытаетесь очистить текстовые файлы для работы других скриптов. Флаги -e
, -t
, -b
и -s
достаточно полезны, чтобы сэкономить ваше время на создание собственного скрипта.
Это также поможет облегчить просмотр текстовых файлов по сравнению с необходимостью постоянно использовать редактор Nano.
Комментарии (0)