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 с несколькими файлами команда работа- ет неверно.