Введение
Вставить — это команда, позволяющая объединять строки по горизонтали. Создает строки, состоящие из соответствующих строк в последовательности каждого файла, указанного в качестве аргумента, разделенных табуляцией.
В этом уроке мы объясним, как использовать команду вставки.
Как использовать команду вставки
paste — одна из менее известных и используемых утилит командной строки Linux и Unix.
Общий синтаксис команды вставки следующий:
paste [OPTION].. [FILE]...
Если входной файл не указан или в качестве аргумента используется "-", вставка использует стандартный ввод.
Предположим, у нас есть следующие файлы.
файл1:
testo1
testo2
testo3
testo4
testo5
файл2:
titolo1
titolo2
titolo3
titolo4
При вызове без параметра вставки он будет читать все файлы, переданные в качестве аргументов, и горизонтально объединять соответствующие строки файлов, разделенные пробелом:
paste file1 file2
Результат будет выглядеть так:
testo1 titolo1
testo2 titolo2
testo3 titolo3
testo4 titolo4
testo5
Вместо вывода вывода на экран вы можете перенаправить его в файл с помощью операторов >, >>
paste file1 file2 > file3
Если файл не существует, он будет создан. Оператор > перезапишет существующий файл, а оператор >> добавит выходные данные в файл.
Параметр -d, -delimiters позволяет указать список символов, которые будут использоваться в качестве разделителей вместо использования разделителя табуляции по умолчанию:
Каждый разделитель используется последовательно. Когда список исчерпан, вставка возобновляется с первого символа-разделителя.
Чтобы использовать символ _ (подчеркивание) в качестве разделителя вместо TAB, введите:
paste -d '_' file1 file2
Результат будет выглядеть так:
testo1_titolo1
testo2_titolo2
testo3_titolo3
testo4_titolo4
testo5_
Мы также можем использовать два разделителя, вот пример:
paste -d '%|' file1 file2 file1
Строки первого и второго файлов разделяются первым символом из списка разделителей. Вторая и третья строки файла разделены вторым разделителем.
Если предоставлено несколько файлов, вставка начинается с начала списка.
testo1%titolo1|testo1
testo2%titolo2|testo2
testo3%titolo3|testo2
testo4%titolo4|testo4
testo5%|testo5
Опция -s (--serial) позволяет отображать строки одного файла за раз:
paste -s file1 file2
Команда объединит все строки указанного файла в отдельные строки:
testo1 testo2 testo3 testo4 testo5
titolo1 titolo2 titolo3 titolo4
При использовании с параметром -z (--zero-terminated) вставка использует нулевой символ для разделения статей вместо символа новой строки по умолчанию. Этот параметр полезен, когда вставка используется в сочетании с командами find -print0 и xargs -0 для обработки имен файлов, содержащих специальные символы.
Вывод
В этом уроке мы увидели, как использовать команду вставки в Linux. Команда вставки используется для объединения совпадающих строк определенных файлов.