вставить (Unix)
Операционная система | Unix и Unix-подобные |
---|---|
Платформа | Кросс-платформенный |
Тип | Команда |
Лицензия | основные утилиты : GPLv3+ |
Paste — это Unix утилита командной строки , которая используется для горизонтального объединения файлов (параллельное слияние) путем вывода строк, состоящих из последовательно соответствующих строк каждого указанного файла, разделенных табуляцией, на стандартный вывод .
История
[ редактировать ]Оригинальная версия Bell Labs была написана Готфридом Людерером . [1] [2] Версия paste
пакет GNU coreutils был написан Дэвидом М. Игнатом и Дэвидом Маккензи. [3] Команда доступна в виде отдельного пакета для Microsoft Windows как часть UnxUtils коллекции , состоящей из собственных Win32- портов распространенных GNU Unix-подобных утилит. [4]
Использование
[ редактировать ]The Утилита вставки вызывается со следующим синтаксисом:
paste [options] [file1 ..]
Описание
[ редактировать ]Однажды вызванный, паста прочитает все его файла аргументы . Для каждой соответствующей строки Paste добавит содержимое каждого файла в этой строке к выходным данным вместе с вкладкой. Когда он завершит свою операцию для последнего файла, Вставка выведет символ новой строки и перейдет к следующей строке.
Вставка завершается после того, как все потоки возвращают конец файла. Количество строк в выходном потоке будет равно количеству строк во входном файле с наибольшим количеством строк. Отсутствующие значения представлены пустыми строками.
Хотя это потенциально полезно, опция, позволяющая вставке выдавать альтернативную строку для отсутствующего поля (например, «NA»), не является стандартной.
Последовательность пустых записей в нижней части столбца выходного потока может присутствовать или не присутствовать во входном файле, соответствующем этому столбцу, как явные пустые записи, если только вы не знаете, что входной файл явно предоставил все строки (например, в каноническом случай, когда все входные файлы действительно имеют одинаковое количество строк).
Параметры
[ редактировать ]The Утилита вставки принимает следующие параметры:
-d|--delimiters delimiters
, который определяет список разделителей , которые будут использоваться вместо табуляции для разделения последовательных значений в одной строке. Каждый разделитель используется по очереди; когда список исчерпан, вставка начинается снова с первого разделителя.
-s|--serial
, что вызывает вставить, чтобы добавить данные последовательно, а не параллельно; то есть горизонтально, а не вертикально.
Примеры
[ редактировать ]В следующих примерах предположим, что Names.txt — это текстовый файл, содержащий следующую информацию:
Mark Smith Bobby Brown Sue Miller Jenny Igotit
и это Numbers.txt — это еще один текстовый файл, содержащий следующую информацию:
555-1234 555-9876 555-6743 867-5309
В следующем примере показан вызов вставить с имена.txt и Numbers.txt, а также полученный результат:
$ paste names.txt numbers.txt
Mark Smith 555-1234
Bobby Brown 555-9876
Sue Miller 555-6743
Jenny Igotit 867-5309
При вызове с помощью --serialize
вариант ( -s
в BSD или более старых системах), вывод вставка настроена таким образом, чтобы информация была представлена горизонтально:
$ paste --serialize names.txt numbers.txt
Mark Smith Bobby Brown Sue Miller Jenny Igotit
555-1234 555-9876 555-6734 867-5309
Наконец, использование --delimiters
вариант ( -d
в BSD или более старых системах) проиллюстрировано в следующем примере:
$ paste --delimiters . names.txt numbers.txt
Mark Smith.555-1234
Bobby Brown.555-9876
Sue Miller.555-6743
Jenny Igotit.867-5309
В качестве примера использования обоих, Команда вставки может использоваться для объединения нескольких последовательных строк в одну строку:
$ paste --serialize --delimiters '\t\n' names.txt
Mark Smith Bobby Brown
Sue Miller Jenny Igotit
См. также
[ редактировать ]- присоединиться
- резать
- Список команд Unix
- lam(1), форматированная вставка с шириной и выравниванием; не ядро Unix
Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]
- «PASTE(1) — Руководство по основным командам FreeBSD» . Проверено 12 августа 2010 г.