Zip-столбцы из отдельных файлов вместе в bash
У меня есть два файла, которые содержат список слов. Есть ли простой способ застегнуть содержимое файлов в один новый файл в bash, так что результирующий файл будет иметь два столбца:
file1_line1 file2_line1
file1_line2 file2_line2
file1_line3 file2_line3
file1_line4 file2_line4
Ответы
Ответ 1
NAME
paste
- объединить соответствующие или последующие строки файлов
СИНТАКСИС
paste [-s] [-d list] file ...
ОПИСАНИЕ
Утилита paste
объединяет соответствующие строки данного ввода файлов, заменяя всех, кроме последних символов новой строки, одним tab и записывает полученные строки в стандартный вывод.
Ответ 2
Вставить будет вам половина пути, но вам понадобится sed, чтобы добавить имя файла к словам
Поместите это в оболочку script и передайте ей два файла в качестве аргументов
#!/bin/sh
paste $1 $2 | sed -e "s/^\([^ ]\+\)\s\+\([^ ]\)/$1_\1 $2_\2/"