Команда Paste в Linux (Объединение Строк)
Команда Paste в Linux (Объединение Строк)
В этом руководстве мы объясним, как использовать команду paste.

paste
это команда, которая позволяет объединять строки файлов по горизонтали. Он выводит строки, состоящие из последовательно соответствующих строк каждого файла, указанного в качестве аргумента, разделенных табуляцией.
Как использовать paste
команду
paste
является одной из малоизвестных и используемых утилит командной строки для Linux и Unix.
Общий синтаксис paste
команды выглядит следующим образом:
paste [OPTION].. [FILE]...
Если входные файлы не предоставлены или когда -
задано в качестве аргумента, paste
используется стандартный ввод.
Предположим, у нас есть следующие файлы:
Iron Man
Thor
Captain America
Hulk
Spider Man
Black Widow
Captain Marvel
Dark Phoenix
Nebula
При вызове без параметра paste
будут считаны все файлы, заданные в качестве аргументов, и объединены по горизонтали соответствующие строки файлов, разделенные пробелом:
paste file1 file2
Iron Man Black Widow
Thor Captain Marvel
Captain America Dark Phoenix
Hulk Nebula
Spider Man
Вместо отображения вывода на экран, вы можете перенаправить его в файл , используя >
, >>
оператор:
paste file1 file2 > file3
Если файл не существует, он будет создан. >
Оператор будет перезаписывать существующий файл, в то время как >>
оператор будет добавлять вывод в файл.
Параметр -d
, -delimiters
позволяет указать список символов, которые будут использоваться в качестве разделителей вместо разделителя по умолчанию TAB
.
Каждый разделитель используется последовательно. Когда список исчерпан, paste
начинается снова с первого символа разделителя.
Чтобы использовать _
символ (подчеркивание) в качестве разделителя вместо TAB
, вы должны набрать:
paste -d '_' file1 file2
Iron Man_Black Widow
Thor_Captain Marvel
Captain America_Dark Phoenix
Hulk_Nebula
Spider Man_
Вот пример использования двух разделителей:
paste -d '%|' file1 file2 file1
Строки из первого и второго файла отделяются первым символом из списка разделителей. Вторая и третья строки файла разделены вторым разделителем.
Если было дано больше файлов, paste
начинается снова с начала списка.
Iron Man%Black Widow|Iron Man
Thor%Captain Marvel|Thor
Captain America%Dark Phoenix|Captain America
Hulk%Nebula|Hulk
Spider Man%|Spider Man
Опция -s
, --serial
заставляет paste
отображать строки одного файла за раз вместо одной строки из каждого файла.
paste -s file1 file2
Команда объединит все строки из данного файла в отдельные строки:
Iron Man Thor Captain America Hulk Spider Man
Black Widow Captain Marvel Dark Phoenix Nebula
При использовании с -z
, --zero-terminated
вариантом, paste
использует нулевой символ , чтобы разграничить элементы вместо перевода строки по умолчанию символ в. Такое поведение удобно , когда paste
используются в сочетании с find -print0
и xargs -0
командами для обработки имен файлов , содержащих специальные символы.
Вывод
Команда paste
используется для объединения соответствующих строк заданных файлов.
Комментарии
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.