Слияние префикса и суффикса из 2 файлов - PullRequest
0 голосов
/ 29 ноября 2018

Я хотел бы объединить 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 (?) Для этого?Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018
$ 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
0 голосов
/ 29 ноября 2018

awk 'BEGIN {OFS = ":"} {строка getline <"file1.txt"; split (line, a, ":"); печать $ 1, a [2];}' file2.txt </p>

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...