PASTE(1) PASTE(1)
НАЗВАНИЕ
paste - слияние строк одного или нескольких файлов
СИНТАКСИС
paste файл1 файл2 ...
paste -dсписок файл1 файл2 ...
paste -s [-dсписок] файл1 ...
ОПИСАНИЕ
В первых двух своих формах команда paste конкатенирует
соответственные строки указанных входных файлов файл1,
файл2 и т.д. Каждый файл рассматривается как отдельный
столбец или несколько столбцов некоторой таблицы; ко-
манда paste склеивает их по горизонтали (параллельное
слияние). Если угодно, команда paste двойственна коман-
де cat(1), которая осуществляет вертикальную конкатена-
цию файлов, размещая один файл вслед за другим. В пос-
ледней из приведенных синтаксических форм команда paste
принимает на себя функции более старой команды с таким
же именем, соединяя последовательные строки входного
файла (последовательное слияние). Во всех случаях стро-
ки склеиваются посредством символа табуляции или, как
возможный вариант, посредством символов из списка. Ко-
манда paste помещает результирующую строку на стандарт-
ный вывод, поэтому она (команда) может служить началом
конвейера или фильтром, если вместо имени файла указать
-.
Опции имеют следующий смысл:
-dсписок
Если эта опция не указана, символы перевода строки
во всех файлах, кроме последнего, (либо, в случае
опции -s, в последней строке файла) заменяются
символами табуляции. Непосредственно следующие за
-d символы используются при конкатенации строк
вместо символов табуляции. Список этих символов
рассматривается как кольцевой, то есть будучи ис-
черпан, он используется повторно. При параллельном
слиянии (то есть в отсутствие опции -s) строки из
последнего файла всегда завершаются символом пере-
вода строки, а не символами из списка. Список мо-
жет содержать следующие управляющие символы: \n
(перевод строки), \t (символ табуляции), \\ (об-
ратная наклонная черта), а также \0 (пустая цепоч-
ка, а не нулевой символ). Может оказаться, что
входящим в список символам приписан специальный
смысл в языке shell - в этом случае потребуются
кавычки (например, обратная наклонная черта должна
быть задана как -d"\\\\").
-s Осуществлять слияние последовательных строк фай-
ла1, затем файла2 и т.д., а не единичных строк од-
новременно из всех входных файлов. Если опция
-dсписок не задана, то при конкатенации использу-
ются символы табуляции. Вне зависимости от наличия
или отсутствия списка каждый файл будет оканчи-
ваться символом перевода строки.
- Может использоваться в роли имени файла. В этом
случае строки будут считываться со стандартного
ввода (приглашение не выдается).
ПРИМЕРЫ
1. Выдача каталога в один столбец:
ls | paste -
2. Выдача каталога в четыре столбца:
ls | paste - - - -
3. Попарное об единение строк файла f1:
paste -s -d"\t\n" f1
СМ. ТАКЖЕ
cut(1), grep(1), pr(1).
ДИАГНОСТИКА
line too long
Длина результирующей строки превышает 511 симво-
лов.
too many files
Число входных файлов не должно превышать 12. При
наличии опции -s это ограничение отсутствует.
СЮРПРИЗЫ
В режиме опции -s с несколькими файлами команда работа-
ет неверно.
|