Cat дописать в начало файла
Команда cat - это одна из самых часто используемых команд Linux. Она часто применяется опытными пользователями во время работы с терминалом. С помощью этой команды можно очень просто посмотреть содержимое небольшого файла, склеить несколько файлов и многое другое.
Несмотря на то что утилита очень проста и решает только одну задачу в лучшем стиле Unix, она будет очень полезной. А знать о ее дополнительных возможностях вам точно не помешает. В этой статье будет рассмотрена команда cat linux, ее синтаксис, опции и возможности.
Команда cat
Название команды - это сокращения от слова catenate. По сути, задача команды cat очень проста - она читает данные из файла или стандартного ввода и выводит их на экран. Это все, чем занимается утилита. Но с помощью ее опций и операторов перенаправления вывода можно сделать очень многое. Сначала рассмотрим синтаксис утилиты:
$ cat опции файл1 файл2 .
Вы можете передать утилите несколько файлов и тогда их содержимое будет выведено поочередно, без разделителей. Опции позволяют очень сильно видоизменить вывод и сделать именно то, что вам нужно. Рассмотрим основные опции:
- -b - нумеровать только непустые строки;
- -E - показывать символ $ в конце каждой строки;
- -n - нумеровать все строки;
- -s - удалять пустые повторяющиеся строки;
- -T - отображать табуляции в виде ^I;
- -h - отобразить справку;
- -v - версия утилиты.
Это было все описание linux cat, которое вам следует знать, далее рассмотрим примеры cat linux.
Использование cat в Linux
Самое простое и очевидное действие, где используется команда cat linux - это просмотр содержимого файла, например:
Команда просто выведет все, что есть в файле. Чтобы вывести несколько файлов достаточно просто передать их в параметрах:
Как вы знаете, в большинстве команд Linux стандартный поток ввода можно обозначить с помощью символа "-". Поэтому мы можем комбинировать вывод текста из файла, а также стандартного ввода:
cat file - file1
Теперь перейдем к примерам с использованием ранее рассмотренных опций, чтобы нумеровать только непустые строки используйте:
Также вы можете нумеровать все строки в файле:
Опция -s позволяет удалить повторяющиеся пустые строки:
А с помощью -E можно сообщить утилите, что нужно отображать символ $ в конце каждой строки:
Если вы не передадите никакого файла в параметрах утилите, то она будет пытаться читать данные из стандартного ввода:
Для завершения записи нажмите Ctrl+D. Таким образом можно получить очень примитивный текстовый редактор - прочитаем ввод и перенаправим его вместо вывода на экран в файл:
cat > file2
$ cat file2
Возможность объединения нескольких файлов не была бы настолько полезна, если бы нельзя было записать все в один:
cat file1 file2 > file3
$ cat file3
Вот, собственно, и все возможности команды cat, которые могут быть полезны для вас.
Выводы
В этой статье мы рассмотрели что представляет из себя команда cat linux и как ею пользоваться. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!
Команда cat представляет собой инструмент Unix, используемый для управления и отображения содержимого файлов. Команда получила свое название от слова «concatenate», потому что, помимо прочего, она может объединять файлы.
В этой статье мы рассмотрим несколько простых способов использования этой команды для записи текста в файл с примерами. Использование cat очень простое, поэтому для продолжения работы не требуется никакого предварительного программирования или опыта работы с Unix.
Основы команд cat
Начнем с того, что мы просто опишем основы команды cat , чтобы помочь вам, если вы никогда не использовали ее раньше или вам нужен краткий обзор.
Синтаксис
Синтаксис выглядит так:
Чтобы быстро найти синтаксис или параметры команды, запустите cat с параметром справки:
Или, вы можете использовать:
Эти команды должны отображать следующий список параметров:
Отображение содержимого файла на стандартном выводе
Чтобы вывести содержимое файла на стандартный вывод, просто назовите файл, который хотите отобразить:
Если файл находится в другом каталоге, вам нужно указать его:
Мы ожидаем увидеть содержимое этого файла, распечатанное на стандартный вывод, в данном случае - терминал:
Это наиболее распространенное использование команды cat, поскольку она позволяет легко просматривать содержимое файла, не открывая текстовый редактор.
Запись текста в файл с помощью cat
Это приведет к замене содержимого filename2 на содержимое filename1 , поэтому убедитесь, что он не содержит ничего, что вы бы не хотели потерять. Теперь filename2 содержит:
Оператор перенаправления вывода перенаправит вывод любой вызываемой нами команды. Например, давайте попробуем это с помощью команды pwd , которая печатает имя текущего рабочего каталога:
Если мы посмотрим сейчас на testfile :
Он содержит путь к текущему рабочему каталогу:
Если файл, на который вы перенаправляете, не существует, будет создан файл с таким именем:
Объединение файлов с помощью cat
Объединить несколько файлов с помощью cat очень просто - просто перечислите файлы в желаемом порядке:
Этот код берет файлы filename1 и filename2 , сцепляет их и выводит на новый outputfile :
Стандартный ввод между файлами
Когда имя входного файла отсутствует в списке, cat начинает чтение со стандартного ввода до тех пор, пока не достигнет EOF (конца файла). Сигнал о конце файла отправляется ctrl+d в командной строке:
Мы даже можем добавить текст из стандартного ввода между файлами, которые мы хотим объединить, используя - , чтобы указать, где мы ожидаем стандартный ввод. Если у нас есть такие файлы, как filename1 , filename2 и filename3 , и нам нужен текст из стандартного ввода между filename1 и filename2 , мы должны написать:
Проверив output , мы увидим что-то вроде:
Добавление файлов с помощью cat
В предыдущих примерах использование оператора перенаправления отбрасывало предыдущее содержимое файла output . Что, если мы хотим добавить новый контент к старому? Для добавления файлов мы используем оператор >> :
И это должно привести к:
Объединение содержимого всего каталога файлов с помощью cat
Чтобы объединить все содержимое всех файлов в каталоге, мы используем подстановочный знак * :
Чтобы объединить все содержимое всех файлов в текущем рабочем каталоге, мы будем использовать:
* также можно использовать для объединения всех файлов с одинаковым расширением:
Перечисление номеров строк
Перечисление всех строк вывода осуществляется с помощью опции -n :
Что бы написать что-то вроде:
Напишите $ в конце каждой строки
В опции -E знаменует конец каждой строки в файле с $ :
Сортировка строк составных файлов по конвейеру
Это немного обман. Команда cat не может сортировать, но для этого мы можем использовать конвейер. Команда канала ( | ) используется для превращения вывода одной команды во ввод другой. Чтобы отсортировать строки файла, мы будем использовать обе cat и еще одну команду sort :
Вывод
Cat - это простой, но мощный инструмент Unix, который предустановлен в большинстве систем. Его можно использовать отдельно или в сочетании с другими командами с помощью каналов. Первоначально созданный Кеном Томпсоном и Деннисом Ритчи в 1971 году, cat простой в использовании и интуитивно понятный функционал выдерживает испытание временем.
В этой статье мы изучили некоторые возможности использования команды cat для записи текста в файлы, проверки содержимого, объединения и добавления файлов, а также для перечисления строк и их сортировки.
Команда cat – это одна из базовых команд, которые вы изучили когда пришли в мир Unix / Linux. Что ещё эта команда может делать?
Отображать содержимое файла
Когда вы вводите в качестве аргумента имя файла в cat, она отображает содержимое этого файла.
Вы также можете отобразить содержимое более чем одного файла.
Создание нового файла
Используя команду cat, строки, полученные из стандартного ввода, могут быть перенаправлены в новый файл используя символ редиректа. Когда вы набрали просто команду cat без каких либо аргументов, она примет содержание стандартного ввода и отобразит его в стандартном выводе.
(Для остановки нажмите Ctrl+d)
Иногда вам может понадобиться добавить контент к файлу, для этого используйте символ редиректа >> как показано ниже.
Копируем содержимое файла
Символ редиректа играет важную роль в unix при обработке стандартных файловых дискрипторов содержимого. Используя его вы можете скопировать содержимое одного файла в другой, как показано ниже.
Объединяем содержимое множества файлов
Через команду cat вы можете объединить содержимое более чем одного файла в один файл.
Например, из файлов file.txt и file2.txt объединяем в новый файл all_pgrm.pl.
Отображаем номера строк
Для отображения содержимого файла с номерами строк перед каждой строкой, используйте опцию -n.
Обратите внимание, что строки, которые содержат белые пробелы, не рассматриваются как пустые строки.
Объединение содержимого файла со стандартным вводом
Существует возможность читать строки из стандартного ввода, и также и объединять их с другими файлами. Следовательно, пользователь может печатать его собственный контент, который ему нужен.
В следующем примере вы можете вставить несколько строк (из стандартного ввода) в начало и при этом скомбинировать вместе файлы.
Не показывать повторяющиеся пустые строки в выводе
Иногда файл может содержать повторяющиеся пустые строки, которые вы не хотите отображать в стандартном выводе. Команда cat предоставляет опцию -s, которая подавит последовательные пустые строки в выводе.
Отобразить конец строки и символы табуляции
Вы можете сделать так, что cat будет отображать символ $ в конце каждой строки. Обычно, считывая файл, пользователи могут найти белые пробелы в конце каждой строки, используя опцию -e.
Используйте опцию -T для отображения символов табуляции. Она отобразит ^I для символов табуляции.
Считывать содержимое до заданного образца
Когда вы считываете из стандартного ввода, вы можете задать прекратить чтение, когда строка будет содержать заданный образец.
Команда cat является одной из наиболее широко используемых команд в Linux. Название cat команды происходит от его функциональности против кошачьих файлов Enate. Он может читать и объединять файлы, записывая их содержимое в стандартный вывод. Если файл не указан или имя входного файла указано как один дефис ( - ), он считывает из стандартного ввода.
Cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
Синтаксис команды Cat
Прежде чем перейти к использованию команды cat, давайте начнем с обзора основного синтаксиса.
Выражения утилиты cat имеют следующую форму:
- OPTIONS - кошачьи варианты . Используйте cat --help для просмотра всех доступных опций.
- FILE_NAMES - Ноль или более имен файлов.
Отображение содержимого файла
Самое основное и распространенное использование команды cat - это чтение содержимого файлов.
Например, следующая команда отобразит содержимое /etc/issue файла в терминале:
Следующая команда будет копировать содержимое file1.txt с file2.txt помощью ( > оператора):
Обычно вы используете cp команду для копирования файла.Если file2.txt файл не существует, команда создаст его. В противном случае файл будет перезаписан.
Используйте ( >> оператор) , чтобы добавить содержимое из file1.txt к file2.txt :
То же, что и раньше, если файл отсутствует, он будет создан.
Печатать номера строк
Чтобы отобразить содержимое файла с номерами строк, используйте -n параметр:
Подавить повторяющиеся пустые строки
Используйте -s опцию, чтобы пропустить повторяющиеся пустые выходные строки:
Отображать символы табуляции
-T Опция позволяет визуально различать вкладки и пробелы.
Символы табуляции будут отображаться как ^I .
Показать конец строк
Чтобы отобразить невидимый символ окончания строки, используйте -e аргумент:
Окончания строк будут отображаться как $ .
Объединение файлов
При передаче двух или более имен файлов в качестве аргументов cat команде содержимое файлов будет объединено. cat читает файлы в последовательности, указанной в аргументах, и отображает содержимое файла в той же последовательности.
Например, следующая команда будет считывать содержимое file1.txt и file2.txt и отображать результат в терминале:
Вы можете объединить два или более текстовых файла и записать их в файл.
Следующая команда конкатенации содержимое file1.txt и file2.txt и записать их в новый файл , combinedfile.txt используя ( > оператор):
Если combinedfile.txt файл не существует, команда создаст его. В противном случае файл будет перезаписан.
Для того, чтобы объединить содержимое 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
1. Отобразить содержимое файла
В приведенном ниже примере будет выведено на терминал содержимое файла /etc/passwd.
2. Просмотр содержимого нескольких файлов в терминале
В приведенном ниже примере он отобразит содержимое файла test и test1 в терминале.
3. Создание файла с помощью команды Cat
Создание пустого файла под названием файл test2 с помощью приведенной ниже команды.
После этого система ожидает ввода от пользователя. Введите нужный текст и нажмите CTRL+D, чтобы выйти. Текст будет записан в файл test2. Вы можете просмотреть содержимое файла с помощью следующей команды cat.
4. Использование команды Cat с опциями more и less
Если файл с большим количеством содержимого не помещается на один экран и прокручивается очень быстро, мы можем использовать параметры more и less с помощью команды cat, как показано ниже.
5. Отображение номеров строк в файле с помощью cat
С помощью опции -n вы можете видеть номера строк файла song.txt на терминале.
6. Отображение $ в конце строки и вместо пробелов между абзацами
7. Отображение нескольких файлов одновременно
В приведенном ниже примере у нас есть три файла test, test1 и test2, и мы можем просматривать содержимое этих файлов в порядке следования имен файлов.
8. Перенаправление стандартного вывода оператора cat.
9. Добавление содержимого файла в существующий файл
Добавляется в существующий файл с помощью символа «>>» (двойное больше). Здесь содержимое тестового файла будет добавлено в конец файла test1.
10. Перенаправление нескольких файлов в один файл
Это создаст файл с именем test3, и весь вывод будет перенаправлен во вновь созданный файл.
11. Сортировка содержимого нескольких файлов в одном файле
Это создаст файл test4, и вывод команды cat будет передан для сортировки, а результат будет перенаправлен во вновь созданный файл.
Читайте также: