Источник: https://n0where.net/howto-cat-command-examples/
Команда cat – это одна из базовых команд, которые вы изучили когда пришли в мир Unix / Linux. Что ещё эта команда может делать?
Отображать содержимое файла
Когда вы вводите в качестве аргумента имя файла в cat, она отображает содержимое этого файла.
$ cat file.txt
Вы также можете отобразить содержимое более чем одного файла.
$ cat file.txt file2.txt
Создание нового файла
Используя команду cat, строки, полученные из стандартного ввода, могут быть перенаправлены в новый файл используя символ редиректа. Когда вы набрали просто команду cat без каких либо аргументов, она примет содержание стандартного ввода и отобразит его в стандартном выводе.
$ cat Test. Test.
(Для остановки нажмите Ctrl+d)
Вы также можете перенаправить стандартный вывод в новый файл как показано ниже.
$ cat > file.txt Text for file.txt.
Иногда вам может понадобиться добавить контент к файлу, для этого используйте символ редиректа >> как показано ниже.
$ cat >> file.txt
Копируем содержимое файла
Символ редиректа играет важную роль в unix при обработке стандартных файловых дискрипторов содержимого. Используя его вы можете скопировать содержимое одного файла в другой, как показано ниже.
$ cat file.txt > file2.txt
Объединяем содержимое множества файлов
Через команду cat вы можете объединить содержимое более чем одного файла в один файл.
Например, из файлов file.txt и file2.txt объединяем в новый файл all_pgrm.pl.
$ cat file.txt file2.txt > file3.txt
Отображаем номера строк
Для отображения содержимого файла с номерами строк перед каждой строкой, используйте опцию -n.
$ cat -n file.txt
Обратите внимание, что строки, которые содержат белые пробелы, не рассматриваются как пустые строки.
Объединение содержимого файла со стандартным вводом
Существует возможность читать строки из стандартного ввода, и также и объединять их с другими файлами. Следовательно, пользователь может печатать его собственный контент, который ему нужен.
В следующем примере вы можете вставить несколько строк (из стандартного ввода) в начало и при этом скомбинировать вместе файлы.
$ cat - file.txt file2.txt > file3.txt Contents from file : file.txt, file2.txt
Не показывать повторяющиеся пустые строки в выводе
Иногда файл может содержать повторяющиеся пустые строки, которые вы не хотите отображать в стандартном выводе. Команда cat предоставляет опцию -s, которая подавит последовательные пустые строки в выводе.
# cat -s file.txt
Отобразить конец строки и символы табуляции
Вы можете сделать так, что cat будет отображать символ $ в конце каждой строки. Обычно, считывая файл, пользователи могут найти белые пробелы в конце каждой строки, используя опцию -e.
$ cat -e file.txt
Используйте опцию -T для отображения символов табуляции. Она отобразит ^I для символов табуляции.
$ cat -eT file.txt
Считывать содержимое до заданного образца
Когда вы считываете из стандартного ввода, вы можете задать прекратить чтение, когда строка будет содержать заданный образец.
$ cat << EOF > line one > line two > EOF line one line two