Главная > Обработка текста и поиск > paste

paste: Объединение строк файла в столбцы (последовательная обработка)

Команда `paste` используется для объединения соответствующих строк из нескольких файлов в стандартный вывод или для последовательной обработки строк одного файла, преобразуя их в столбцы. В частности, опция `-s` (serial) полезна для последовательного чтения каждой строки одного входного файла и размещения ее в виде нескольких столбцов в одной выходной строке.

Обзор

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

Основные функции

  • Объединение строк из нескольких файлов
  • Последовательное преобразование строк одного файла в столбцы (-s)
  • Возможность указания разделителя

Основные опции

Поведение и разделители

Сгенерированная команда:

Комбинируйте команды.

Описание:

`paste` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Преобразование строк одного файла в столбцы (разделитель по умолчанию - табуляция)

echo -e "apple\nbanana\norange\ngrape" > fruits.txt
paste -s fruits.txt
rm fruits.txt

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

Преобразование строк в столбцы с разделителем-запятой (,)

echo -e "apple\nbanana\norange\ngrape" > fruits.txt
paste -s -d ',' fruits.txt
rm fruits.txt

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

Использование нескольких разделителей в цикле

echo -e "1\n2\n3\n4\n5\n6" > numbers.txt
paste -s -d '+-' numbers.txt
rm numbers.txt

При указании нескольких разделителей в опции `-d` для каждого столбца будут применяться разные разделители по циклу.

Последовательная обработка из стандартного ввода

seq 1 5 | paste -s -d ' '

Последовательно обрабатывает стандартный ввод, переданный через конвейер (|), с помощью опции `-s`.

Советы и примечания

Советы и моменты, на которые стоит обратить внимание при эффективном использовании опции `paste -s`.

Основные сценарии использования

Опция `-s` очень полезна для реорганизации данных в горизонтальном направлении или для суммирования нескольких строк данных в одну. Она особенно мощна при использовании в конвейере (|) с выводом других команд для преобразования данных в нужный формат.

  • При реорганизации данных в горизонтальном направлении (например, вывод `ls` в одну строку)
  • При суммировании нескольких строк данных в одну
  • Гибкое использование в конвейере (|) с другими командами

Внимание при использовании разделителей (-d)

Если список разделителей, указанный в опции `-d`, короткий, символы из списка будут использоваться циклически. Например, `-d ','` разделит все столбцы запятыми, а `-d ', '` разделит первый столбец запятой, второй - пробелом, а затем снова перейдет к запятой.


Те же команды в категории