Объединить префикс и суффикс из 2 файлов

Я хочу объединить 2 файла:

> cat file1.txt
string1:suffix1
string2:suffix2

> cat file2.txt
prefix1:string1
prefix2:string2

в:

> cat result.txt
prefix1:string1:suffix1
prefix2:string2:suffix2

Как для этого можно использовать awk (?)? Большое спасибо!

В чем разница между методом "==" и equals()
В чем разница между методом "==" и equals()
Это один из наиболее часто задаваемых вопросов новичкам на собеседовании. Давайте обсудим его на примере.
Замена символа по определенному индексу в JavaScript
Замена символа по определенному индексу в JavaScript
В JavaScript существует несколько способов заменить символ в строке по определенному индексу.
1
0
115
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

awk 'BEGIN {OFS = ":"} {getline line <"file1.txt"; split (line, a, ":"); print $ 1, a [2];}' file2.txt

где, Этот [{OFS = ":"}] предназначен для установки символа, который будет использоваться для добавления 2 строк из 2 файлов. Если вы используете пробел, вы получите результат, как показано ниже: префикс1: строка1 суффикс1 префикс2: строка2 суффикс2

Эта [getline line <"file1.txt"] предназначена для получения строк из первого файла. Этот [split (line, a, ":")] предназначен для разделения строки на основе двоеточия и создания массива a. Этот [print $ 1] предназначен для печати всей строки файла file2.txt. Этот [a [2]] предназначен для печати 2-го элемента массива a из первого файла

Хорошо работает, спасибо!

Adrast 29.11.2018 19:22
Ответ принят как подходящий
$ awk -F: 'NR==FNR {a[$1]=$2; next} 
                   {print $0 FS a[$2]}' file1 file2

prefix1:string1:suffix1
prefix2:string2:suffix2

или если файлы уже выровнены

$ paste -d: file2 <(cut -d: -f2 file1)

prefix1:string1:suffix1
prefix2:string2:suffix2

Спасибо! Предпочитаемый ответ на использование команды «вставить», которую я раньше не знал.

Adrast 29.11.2018 19:25

Другие вопросы по теме