zip столбцы из отдельных файлов вместе в Bash

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

    file1_line1 file2_line1 file1_line2 file2_line2 file1_line3 file2_line3 file1_line4 file2_line4

2 ответа

Решение

НАЗВАНИЕ

paste - объединить соответствующие или последующие строки файлов

СИНТАКСИС

paste [-s] [-d list] file ...

ОПИСАНИЕ

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

Вставить приведет вас на полпути, но вам понадобится sed, чтобы добавить имя файла к словам

Поместите это в скрипт оболочки и передайте два файла в качестве аргументов.

#!/bin/sh
paste $1 $2 | sed -e "s/^\([^ ]\+\)\s\+\([^ ]\)/$1_\1 $2_\2/"
Другие вопросы по тегам