Введение

paste — это утилита командной строки Unix, используемая для горизонтального объединения файлов (параллельного слияния) путём вывода строк, состоящих из последовательно соответствующих строк каждого указанного файла, разделённых символами табуляции, в стандартный поток вывода.

История

Оригинальная версия Bell Labs была написана Готфридом В. Р. Людерером. Версия утилиты paste, включенная в GNU coreutils, была разработана Дэвидом М. Иннатом и Дэвидом Маккензи. Эта команда доступна как отдельный пакет для Microsoft Windows в составе коллекции UnxUtils, представляющей собой нативные порты Win32 для распространенных утилит, подобных GNU Unix.

Описание

Как только он будет вызван, он прочитает все свои аргументы. Для каждой соответствующей строки он добавит содержимое каждого файла из этой строки к своему выводу, разделяя их табуляцией. Когда операция для последнего файла будет завершена, он выведет символ новой строки и перейдет к следующей строке. Программа завершается после того, как все потоки вернут признак конца файла. Количество строк в выходном потоке будет равно количеству строк во входном файле, содержащем наибольшее количество строк. Отсутствующие значения представляются пустыми строками. Хотя это и может быть полезно, возможность заставить программу выводить альтернативную строку для отсутствующего поля (например, "NA") не является стандартной. Последовательность пустых записей в нижней части столбца выходного потока могла присутствовать или отсутствовать во входном файле, соответствующем этому столбцу, в виде явных пустых записей, если только вы не уверены, что входной файл содержит все строки явно (например, в каноническом случае, когда все входные файлы действительно имеют одинаковое количество строк).