Команды Linux · 2 min read · Sep 17, 2025

Команда paste в Linux: объяснение для начинающих (5 примеров)

Иногда, работая в командной строке Linux, может возникнуть ситуация, когда вам нужно объединить строки нескольких файлов, чтобы создать более значимые/полезные данные. Вам будет приятно узнать, что существует утилита командной строки paste, которая делает это за вас. В этом руководстве мы обсудим основы этой команды, а также основные функции, которые она предлагает, с помощью простых для понимания примеров.

Но прежде чем мы это сделаем, стоит упомянуть, что все примеры, упомянутые в этой статье, были протестированы на Ubuntu 16.04 LTS.

Команда paste в Linux

Как уже упоминалось выше, команда paste объединяет строки файлов. Вот синтаксис инструмента:

paste [OPTION]... [FILE]...

А вот как объясняет это изображение команды paste:

Записывает строки, состоящие из последовательно соответствующих строк из каждого FILE, разделенных TAB,  
в стандартный вывод. Без FILE или когда FILE - , считывает стандартный ввод.

Следующие примеры в формате вопросов и ответов должны дать вам лучшее представление о том, как работает paste.

Вопрос 1. Как объединить строки нескольких файлов с помощью команды paste?

Предположим, у нас есть три файла - file1.txt, file2.txt и file3.txt - со следующим содержимым:

Как объединить строки нескольких файлов с помощью команды paste

И задача состоит в том, чтобы объединить строки этих файлов так, чтобы каждая строка конечного вывода содержала индекс, страну и континент, тогда вы можете сделать это с помощью paste следующим образом:

paste file1.txt file2.txt file3.txt

Вопрос 2. Как применить разделители при использовании paste?

Иногда может возникнуть необходимость добавить разделяющий символ между записями каждой результирующей строки. Это можно сделать с помощью параметра командной строки -d, который требует от вас указать разделяющий символ, который вы хотите использовать.

Например, чтобы применить двоеточие (:) в качестве разделяющего символа, используйте команду paste следующим образом:

paste -d : file1.txt file2.txt file3.txt

Вот вывод, который эта команда произвела на нашей системе:

Вопрос 3. Как изменить способ, которым строки объединяются?

По умолчанию команда paste объединяет строки так, что записи в первом столбце принадлежат первому файлу, записи во втором столбце - второму файлу и так далее. Однако, если вы хотите, вы можете изменить это так, чтобы операция объединения происходила по строкам.

Это можно сделать с помощью параметра командной строки -s.

paste -s file1.txt file2.txt file3.txt

Следующий вывод:

Вопрос 4. Как использовать несколько разделителей?

Да, вы также можете использовать несколько разделителей. Например, если вы хотите использовать как :, так и |, вы можете сделать это следующим образом:

paste -d ':|' file1.txt file2.txt file3.txt

Следующий вывод:

Вопрос 5. Как убедиться, что объединенные строки заканчиваются на NUL?

По умолчанию строки, объединенные с помощью paste, заканчиваются переводом строки. Однако, если вы хотите, вы можете сделать их NUL-терминированными, что можно сделать с помощью параметра -z.

paste -z file1.txt file2.txt file3.txt

Заключение

Как большинство из вас согласится, команда paste несложна для понимания и использования. Она может предложить ограниченный набор параметров командной строки, но инструмент выполняет то, что обещает. Вам может не понадобиться это ежедневно, но paste может сэкономить время в некоторых сценариях. На всякий случай, вот страница man для этого инструмента.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.