Android

Вставить команду в Linux (объединить строки)

?? Subway Surfers - Official Launch Trailer

?? Subway Surfers - Official Launch Trailer

Оглавление:

Anonim

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

В этом уроке мы объясним, как использовать команду paste .

Как использовать команду paste

paste - одна из малоизвестных и используемых утилит командной строки для Linux и Unix.

Общий синтаксис команды paste выглядит следующим образом:

paste…..

Если входные файлы не предоставлены или когда - задано в качестве аргумента, paste использует стандартный ввод.

Предположим, у нас есть следующие файлы:

file1

Iron Man Thor Captain America Hulk Spider Man file2

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 позволяет вам указать список символов, которые будут использоваться в качестве разделителей вместо разделителя табуляции по умолчанию.

Каждый разделитель используется последовательно. Когда список исчерпан, 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 используется для объединения соответствующих строк данных файлов.

терминальная паста