Команда cat в Linux

cat — одна из наиболее часто используемых команд в Linux. Она считывает данные из файлов и выводит их содержимое. Это самый простой способ отображения содержимого файла в командной строке.

Синтаксис

cat [ОПЦИИ]... [ФАЙЛ]...

Ее можно использовать для отображения текстовых файлов, копирования текстовых файлов в новый документ, присоединения содержимого текстового файла в конце другого текстового файла для их объединения.

Отображение текстовых файлов

Простейший способ использования cat - задать команде имя файла. Содержимое текстового файла будет выведено на экран. Например, следующая команда прочитает содержимое файла mytext.txt и выведет его в стандартный поток вывода (экран вашего терминала):

cat mytext.txt

Если файл слишком длинный, он пролистается, и вы увидите только последний экран. При необходимости просмотреть документ постранично или прокручивать его вперёд и назад можно воспользоваться такими средствами просмотра как pg, more или less.

Когда указано несколько файлов, cat будет выводить их последовательно, объединяя содержимое в потоке стандартного вывода. Поэтому следующая команда выведет содержимое двух текстовых файлов, как если бы они были одним:

cat mytext.txt mytext2.txt

Копирование текстового файла

Обычно копирование осуществляется командой cp, но для копирования текстовых файлов вы можете аналогичным образом использовать команду cat. cat отправляет результат в stdout (стандартный поток вывода), обычно это экран терминала. Однако, можно перенаправить результат в файл при помощи символа перенаправления “>”.

Например, команда:

cat mytext.txt > newfile.txt

считает содержимое mytext.txt и отправить его в стандартный поток вывода, но вместо отображения текста оболочка перенаправит результат в файл newfile.txt. Если этот файл не существует, он будет создан. Если он будет же существует, то будет перезаписантс потерей предыдущего содержимого, поэтому будьте осторожны.

Аналогично можно объединять несколько файлов в один. Например, команда

cat mytext.txt mytext2.txt > newfile.txt

считает содержимое mytext.txt и mytext2.txt и запишет объединенный текст в newfile.txt. При отсутствии файла он будет создан, при наличии — перезаписан.

Присоединение содержимого текстового файла в конец другого текстового файла

Вместо перезаписи файла можно присоединить текст файла-источника к другому файлу при помощи оператора перенаправления «>>».
Например, команда:

cat mytext.txt >> another-text-file.txt

Прочтет содержимое mytext.txt и запишет его в конец файла another-text-file.txt. Если этот файл не существует, он будет создан, и содержимое mytext.txt будет записано в новый файл.
Это работает также для нескольких файлов. Следующая команда последовательно запишет содержимое mytext.txt и mytext2.txt в конец файла another-text-file.txt:

cat mytext.txt mytext2.txt >> another-text-file.txt

Добавление стандартного ввода в вывод cat

Если в качестве имени файла задать дефис («-«), cat осуществляет считывание из стандартного потока ввода. Например, если у вас есть файл list.txt со следующим текстом:

яблоки
апельсины
масло
хлеб

вы можете воспользоваться командой echo для вывода текста, направить этот текст команде cat и указать ей объединить его с содержимым файла:

echo "Мой список покупок" | cat - list.txt

На выходе получим следующий текст:

Мой список покупок
яблоки
апельсины
масло
хлеб

Опции

Данные опции доступны для GNU cat, стандартной для большинства дистрибутивов Linux. Для уточнения опций, доступных конкретно в вашей системе, обратитесь к руководству.

-n, —number — выводить номер каждой строки  результата.

-b, —number-nonblank — выводить номер каждой строки результата, кроме пустых. Эта опция отменяет -n.

-E, —show-ends — отображать «$» в конце каждой строки.

-s, —squeeze-blank — исключать из вывода повторяющиеся пустые строки.

-T, —show-tabs — показывать символы табуляции как ^I.

-v, —show-nonprinting — показывать непечатаемые символы, кроме табуляции и конца строки.

-t — показывать непечатаемые символы, кроме конца строки.

-e — показывать непечатаемые символы, кроме табуляции.

-A, —show-all — показывать все непечатаемые символы.

—help — вывести справку и выйти.

—version — вывести информацию о версии и выйти.

Заключение

cat — простой, но очень полезный инструмент для работы с данными в текстовых файлах, системных логах, файлах конфигурации и любыми другими читаемыми для человека данными.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: