Что происходит, когда я использую имя существующего файла в качестве вывода для команды CAT?
em>conCATenation, но это нечто большее, чем просто копирование одного файла рядом с другим.Базовый формат CAT-команды
Вот как вы обычно используете команду cat
:
catContents
Базовый формат CAT-команды
pan> outputПорядок добавления файлов друг за другом зависит от порядка, в котором вы написали файлы в команде. В этом примере, когда вы открываете «выходной» файл, за содержимым «файл1» следует «файл2», затем «файл3» и т. д.
Вы можете добавить столько файлов, сколько захотите, если ваша файловая система поддерживает конечный размер вывода.
Кроме того, как и во всех командах терминала Linux, вам нужно будет указать расширение файла при их добавлении. Например, если вам было работа с файлами JSON и вы планируете объединить два из них вместе, вы нужно будет ввести это так:
cat file1.json file2.json > combined_file.json
CAT без выходной части
Для cat
выходная часть не является обязательной. При удалении этой части содержимое каждого файла выводится на терминал.
Вы также можете сделать это с отдельными файлами. Помните, что вы не сможете редактировать содержимое здесь, как это делалось бы с файлами DOC или TXT в текстовом редакторе . Команда cat
становится больше похожей на средство просмотра текстовых файлов, чем на редактор.
Флаги CAT-команд
При использовании CAT в Linux можно использовать шесть флагов:
-n
перечисляет каждую строку, начиная с 1.-b
перечисляют только строки, содержащие символы.-s
сжать несколько последовательных пустCAT без выходной части
>-eотмечает конец каждой строки.-q
не отображать сообщение, если CAT не может найти входной файл.-t
отображает символы табуляции как^I
.
Мы расскажем, как работает каждый из них и как их можно использовать.
Использование флага -n
Флаг -n
перечисляет содержимое файла построчно и выводит его на терминал. Он не редактирует сам файл.
cat -n file1.txt
Но вы все равно можете сохранить вывод (с перечислением), выполнив следующие действия:
cat -n file1.txt > file2.txt
При этом содержимое файла «file1.txt» перечисляется и сохраняется в «file2.txt».
Вы также можете перечислить несколько файлов вместе. Команда cat
продолжит отсчет после окончания первого файла. Если первый файл закан
Флаги CAT-команд
файл начнется с 34 и так далее.Совет. Вы также можете используйте команду diff сначала найти разницу между файлами, прежде чем объединять их вместе.
Использование флага -b
Проблема с флагом -n
заключается в том, что он также перечисляет пустые строки. Если у вас есть файл с большим количеством пробелов для макета или удобства чтения, вместо него вам понадобится флаг -b
.
cat -b file1.txt
Формат флага -b
работает так же, как и формат флага -n
. Кроме того, если
Использование флага -n
е, флаг-b
переопределит флаг -n
независимо от того, в каком порядке вы их упорядочите.
Использование флага -s
Флаг -s
— еще один удобный командный флаг cat
, который используется, когда в файлах много свободного места. Он работает за счет сокращения всех повторяющихся пробелов в один, что облегчает чтение.
cat -s file2.txt
Этот флаг ищет как минимум 2 последовательные пустые строки перед их объединением. Если ваш файл содержит одну пустую строку между двумя заполненными, он пропустит ее и начнет искать следующую.
Использование флага -e
Флаг -e
находит конец каждой строки и добавляет $
в конце каждой строки.
cat -e file1.txt
Этот флаг упрощает работу с текстовыми файлами когда вы используете регулярные выражения или регулярное выражение . Вы можете использовать дополнительный скрипт или программу для чтения содержимого сохраненного файла и проверки его концов с помощью регулярного выражения.
Помните
Использование флага -b
добавляет$
в конце каждой пустой строки, поэтому вы можете использовать его вместе с -s
чтобы все выглядело чище.
Использование флага -t
Флаг -t
аналогичен флагу -e
, но вместо этого ищет «символ табуляции» и заменяет его на ^I
. Что хорошо в этом флаге, так это то, что он умеет отличать «табуляцию» от символа «двойного пробела».
cat -t file1.txt > file2.txt
Это означает, что если вы используете флаги -n
или -b
вместе с флагом -t
, символы пробела будут считываться по мере их появления. есть и оставьте их в покое. То же самое произойдет, если вы добавите массу пробелов, чтобы имитировать символ табуляции.
Использование CAT-команд Linux
Команду cat
следует использовать
Использование флага -s
сь объединить текстовые файлы построчно. Не ждите, что командаcat
возьмет две строки текста и объединит их в одну.
С другой стороны, вы увидите, что это очень полезно, когда вы пытаетесь очистить текстовые файлы для работы с другими скриптами. Флаги -e
, -t
, -b
и -s
достаточно полезны, чтобы сэкономить ваше время на написании собственного кода. сценарий для всего, что эти флаги уже делают.
Это также помогает упростить просмотр текстовых файлов по сравнению с необходимостью постоянно использовать используйте редактор Nano .
Но если вы пытаетесь сделать что-то, для чего он не предназначен, возможно, пришло время взглянуть на другие способы объединения файлов в Linux .
Часто задаваемые вопросы
Что произойдет, если я использую команду CAT для видеофайла?
Видеофайлы содержат заголовок. Это часть информации, показывающая, как было закодировано видео. Если вы используете команду CAT для объединения видео, у вас останется одно, в котором информация заголовка находится между закодированными видеоданными. Большинство зрителей прочитают это и подумают, что ваш файл поврежден. Для этого с видеофайлами лучше использовать другой инструмент, например FFmpeg .
Могу ли я использовать команду Linux CAT с файлами из разных папок?
Вы можете рассматривать имена файлов как пути к папкам, когда объединяете файлы в папках с помощью команды cat
. Таким образом, вы можете объединить файл на рабочем столе с другим файлом из фотографий, сделав это следующим образом: cat Desktop/file1.txt Photos/Photos.txt >> output.txt
.
В зависимости от того, используете ли вы >
или >>
, содержимое либо перезапишется, либо добавит содержимое в существующий файл. Команда >>
добавляет к файлу или создает файл, если он не существует. Команда >
перезаписывает файл, если он существует, или создает его, если он не существует.
Чтобы избежать каких-либо догадок, всегда лучше сохранять выходные данные в несуществующий файл с уникальным именем.