cat - объединить и вывести содержимое файлов
cat [-benstuv] [ файл ... ]
Утилита
cat последовательно читает файлы и пишет их в стандартный вывод. Аргументы "
файл" обрабатываются в порядке их следования в командной строке. Если файл задан как дефис ("
-") или отсутствует,
cat производит чтение со стандартного ввода.
Если файл является
UNIX сокетом,
cat подключается к нему и читает из него, пока не будет получен
EOF ( конец файла ). Это дополняет возможность привязки к UNIX-домену, доступную в
inetd(8).
Программа
cat поддерживает следующие опции:
- -b
- Нумеровать непустые выводимые строки, начиная с 1.
- -e
- Выводить непечатаемые символы (см. опцию -v), и выводить знак доллара ( "$" ) в конце каждой строки.
- -n
- Нумеровать выводимые строки, начиная с 1.
- -s
- Подавлять вывод нескольких пустых строк, следующих друг за другом, заменяя их на одну пустую строку.
- -t
- Выводить непечатаемые символы (см. опцию -v), и выводить символы табуляции в виде "^I".
- Запретить буферизацию вывода.
- -v
- Выводить непечатаемые символы в читабельном виде. Управляющие символы типа control-X печатаются как ^X; символ delete (восьмеричное значение 0177) печатается как ^?. Не-ASCII символы (с ненулевым старшим битом) печатаются как M- ( meta ) с последующим символом, полученным из младших 7 битов.
СТАТУС ЗАВЕРШЕНИЯ
Утилита
cat возвращает
0 в случае успешного завершения и
>0 в случае возникновения ошибки.
ПРИМЕРЫ
cat файл1
выведет содержимое файла
файл1 на стандартный вывод.
cat файл1 файл2 > файл3
содержимое файлов
файл1 и
файл2 будет последовательно записано в файл
файл3, при этом файл
файл3, если он существует, будет усечён. Обратитесь к странице справочника по используемой вами командной оболочке (например,
sh(1)) для получения более подробной информации о перенаправлении ввода/вывода.
cat файл1 - файл2 - файл3
будет выведено содержимое файла
файл1, затем данные из стандартного ввода, пока не будет получен символ
EOF ( "
^D" ), затем содержимое файла
файл2, затем вновь будет читаться и выводиться содержимое стандартного ввода, и, наконец, будет выведено содержимое файла
файл3. Заметьте, что если стандартный ввод является файлом, то второй дефис в командной строке не будет действовать, так как всё содержимое файла уже будет считано и выведено утилитой cat при обработке первого аргумента "
— ".
СМОТРИТЕ ТАКЖЕ
head(1), more(1), pr(1), sh(1), tail(1), vis(1), zcat(1), setbuf(3)
ПРОБЛЕМЫ
Использование в команде
cat файл1 файл2 > файл1' механизма перенаправления вывода командной оболочки приведёт к уничтожению исходных данных в файле
файл1
Утилита cat не распознаёт мультибайтовые символы при включении опций
-t или
-v.