- Команда cat в Linux
- Синтаксис команды Cat
- Отображение содержимого файла
- Перенаправить содержимое файла
- Печатать номера строк
- Подавить повторяющиеся пустые строки
- Отображение символов TAB
- Показать конец строк
- Объединение файлов
- Создание файлов
- Выводы
- Объединение файлов командой cat
- Что такое команда CAT в Linux и как ее использовать
- Основной формат для команды CAT
- CAT без выходной части
- Флаги команды CAT
- Использование флага -n
- Использование флага -b
- Использование флага -s
- Использование флага -e
- Использование флага -t
- Использование команд CAT в Linux
- Часто задаваемые вопросы
- Что произойдет, если я использую команду CAT в видеофайле?
- Могу ли я использовать команду Linux CAT с файлами из разных папок?
- Что произойдет, если я использую имя существующего файла в качестве выходного сигнала для команды CAT?
Команда cat в Linux
Команда cat — одна из наиболее широко используемых команд в Linux. Имя cat команды происходит от его функциональности против кошачьих файлов Enate. Он может читать и объединять файлы, записывая их содержимое в стандартный вывод. Если файл не указан или если имя входного файла указано в виде одного дефиса ( — ), он считывается из стандартного ввода.
Cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
В этом руководстве мы покажем вам, как использовать команду cat на практических примерах.
Синтаксис команды Cat
Прежде чем перейти к использованию команды cat, давайте начнем с обзора основного синтаксиса.
Выражения утилиты cat принимают следующую форму:
- OPTIONS — варианты кошек . Используйте cat —help чтобы просмотреть все доступные параметры.
- FILE_NAMES — Ноль или более имен файлов.
Отображение содержимого файла
Наиболее простое и распространенное использование команды cat — это чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла /etc/issue в терминале:
Перенаправить содержимое файла
Вместо вывода вывода на стандартный вывод (на экране) вы можете перенаправить его в файл.
Следующая команда скопирует содержимое file1.txt в file2.txt с помощью оператора ( > ):
Если файл file2.txt не существует, команда создаст его. В противном случае он перезапишет файл.
Используйте оператор ( >> ), чтобы добавить содержимое file1.txt в file2.txt :
Как и раньше, если файла нет, он будет создан.
Печатать номера строк
Чтобы отобразить содержимое файла с номерами строк, используйте параметр -n :
1 DISTRIB_ID=Ubuntu 2 DISTRIB_RELEASE=18.04 3 DISTRIB_CODENAME=bionic 4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Подавить повторяющиеся пустые строки
Используйте параметр -s чтобы пропустить повторяющиеся пустые выходные строки:
Отображение символов TAB
Параметр -T позволяет визуально различать табуляции и пробелы.
127.0.0.1^Ilocalhost 127.0.1.1^Iubuntu1804.localdomain
Символы TAB будут отображаться как ^I
Показать конец строк
Чтобы отобразить невидимый символ окончания строки, используйте аргумент -e :
DISTRIB_ID=Ubuntu$ DISTRIB_RELEASE=18.04$ DISTRIB_CODENAME=bionic$ DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
Окончание строки будет отображаться как $ .
Объединение файлов
При передаче двух или более имен файлов в качестве аргументов команде cat содержимое файлов будет объединено. cat читает файлы в последовательности, указанной в его аргументах, и отображает содержимое файла в той же последовательности.
Например, следующая команда прочитает содержимое file1.txt и file2.txt и отобразит результат в терминале:
Вы можете объединить два или более текстовых файла и записать их в файл.
Следующая команда file1.txt содержимое file1.txt и file2.txt и запишет их в новый combinedfile.txt file2.txt с помощью оператора ( > ):
cat file1.txt file2.txt > combinedfile.txt
Если combinedfile.txt файл не существует, то команда будет создавать. В противном случае он перезапишет файл.
Чтобы file1.txt содержимое file1.txt и file2.txt и добавить результат в file3.txt с помощью оператора ( >> ):
cat file1.txt file2.txt >> file3.txt
Если файла нет, он будет создан.
При объединении файлов с помощью cat вы можете использовать те же аргументы, что и в предыдущем разделе.
Создание файлов
Создавать небольшие файлы с помощью cat часто проще, чем открывать текстовый редактор, такой как nano , Vim, Sublime Text или Visual Studio Code .
Чтобы создать новый файл, используйте команду cat за которой следует оператор перенаправления ( > ) и имя файла, который вы хотите создать. Нажмите Enter , введите текст и, когда закончите, нажмите CRTL+D чтобы сохранить файл.
В следующем примере мы создаем новый файл с именем file1.txt :
Если присутствует файл с именем file1.txt , он будет перезаписан. Используйте оператор « >> », чтобы добавить вывод в существующий файл.
Выводы
Команда cat может отображать, комбинировать и создавать новый файл.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Объединение файлов командой cat
Команду cat в большинстве случаев используют только для просмотра файлов. На самом деле одно из ее предназначений это конкатенация (объединение) файлов. А название команды происходит от слова catenate (сцепить), то есть присоединение одного после другого.
Под объединением файлов понимается их соединение. Например, если мы имеем два текстовых файла и в одном из них записана строка:
My text file 1
А в другом:
My text file 2
То после объединения мы получим файл с двумя строками:
My text file 1
My text file 2
То есть происходит простое соединение файлов. К содержимому одного добавляется содержимое другого. Это касается не только текстовых файлов, но и всех остальных (бинарных, например).
Чтобы объединить два файла командой cat нужно просто указать в качестве аргументов названия этих файлов и направить результат выполнения в новый файл. Например, мы хотим объединить два файла file1 и file2, а результат записать в новый файл file12. Тогда мы должны выполнить следующую команду:
Вы можете объединить неограниченное количество файлов. Например, чтобы объединить четыре файла и записать результат в файл myfile, выполните команду:
cat file1 file2 file3 file4 > myfile
Что такое команда CAT в Linux и как ее использовать
Команда 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 перечисляет содержимое файла по строкам и выводит его на терминал. Он не редактирует сам файл.
Но вы все равно можете сохранить вывод (с перечислением), сделав следующее:
Это перечисляет содержимое «file1.txt» и сохраняет его в «file2.txt».
Вы также можете перечислить несколько файлов вместе. Команда cat продолжит отсчет после конца первого файла. Если первый файл заканчивается на 33, то следующий будет начинаться с 34 и так далее.
Использование флага -b
Проблема с флагом -n в том, что он также перечисляет пустые строки. Если у вас есть файл с большим количеством пробелов для компоновки или удобства чтения, вам понадобится флаг -b .
Формат для флага -b работает так же, как и для флага -n . Кроме того, если вы используете их вместе, флаг -b будет преобладать над флагом -n , независимо от того, как вы их упорядочите.
Использование флага -s
Флаг -s – это еще один удобный флаг команды cat для тех случаев, когда в ваших файлах много белого пространства. Он сокращает все повторяющиеся пробелы до одного, что облегчает чтение.
Этот флаг ищет по крайней мере 2 последовательные пустые строки перед их объединением. Если ваш файл содержит одну пустую строку между двумя заполненными, он пропустит ее и будет искать следующую.
Использование флага -e
Флаг -e находит конец каждой строки и добавляет $ в конце каждой строки.
Этот флаг облегчает работу с текстовыми файлами при использовании регулярных выражений или regex. Вы можете попросить дополнительный скрипт или программу прочитать содержимое сохраненного файла и проверить концы с помощью regex.
Не забывайте, что флаг -e также добавляет $ в конце каждой пустой строки, поэтому вы можете использовать его вместе с -s , чтобы все выглядело чище.
Использование флага -t
Флаг -t похож на флаг -e , но вместо него ищет «символ табуляции» и заменяет его на ^I . Этот флаг хорош тем, что он умеет отличать символ табуляции от символа двойного пробела.
Это означает, что если вы используете флаги -n или -b вместе с флагом -t , он будет считать символы пробела такими, какие они есть, и оставит их как есть. То же самое произойдет, если вы добавите тонну пробелов, чтобы имитировать символ «табуляции».
Использование команд CAT в Linux
Команду cat следует использовать только тогда, когда вы пытаетесь объединить текстовые файлы построчно. Не ждите, что команда cat возьмет две строки текста и объединит их в одну.
С другой стороны, вы увидите много пользы от этой команды, когда попытаетесь очистить текстовые файлы для работы других скриптов. Флаги -e , -t , -b и -s достаточно полезны, чтобы сэкономить ваше время на создание собственного скрипта.
Это также поможет облегчить просмотр текстовых файлов по сравнению с необходимостью постоянно использовать редактор Nano.
Часто задаваемые вопросы
Что произойдет, если я использую команду CAT в видеофайле?
Видеофайлы содержат так называемый «заголовок». Это часть информации, которая показывает, как было закодировано видео. Если вы используете команду CAT для объединения видеофайлов, вы получите файл, в котором информация заголовка находится между кодированными видеоданными. Большинство зрителей, прочитав это, подумают, что ваш файл поврежден. Для работы с видеофайлами лучше использовать другой инструмент, например FFmpeg.
Могу ли я использовать команду Linux CAT с файлами из разных папок?
Вы можете рассматривать имена файлов как пути к папкам, когда вы объединяете файлы в папках с помощью команды cat . Таким образом, вы можете объединить файл из папки Desktop с другим файлом из папки Photos, сделав это следующим образом: cat Desktop/file1.txt Photos/Photos.txt >> output.txt .
Что произойдет, если я использую имя существующего файла в качестве выходного сигнала для команды CAT?
В зависимости от того, используете ли вы команду > или >> , она либо перезапишет, либо добавит содержимое к существующему файлу. Команда >> добавляет содержимое в файл или создает файл, если он не существует. Команда > перезаписывает файл, если он существует, или создает его, если он не существует.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.