bash - заменить значение в первом файле, глядя на другой файл, называя его номером строки - PullRequest
0 голосов
/ 04 октября 2018

Мне нужно заменить первое значение в file1.txt на значение из второго файла file2.txt, рассматривая их как номера строк

Например:

file1.txt

3|1|D|A  
3|2|2018-09-11 11:25:13.000000857|2018-09-11 11:26:03.000000459  

file2.txt

12~299673112~S  
12~299673232~S  
13~299673233~W  
13~299673222~W  

Вывод

13~299673233~W|1|D|A  
13~299673233~W|2|2018-09-11 11:25:13.000000857|2018-09-11 11:26:03.000000459

Заранее спасибо

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете использовать это awk:

awk 'BEGIN{FS=OFS="|"} NR==FNR{a[FNR]=$0; next} $1 in a{$1=a[$1]; print}' file2 file1

13~299673233~W|1|D|A
13~299673233~W|2|2018-09-11 11:25:13.000000857|2018-09-11 11:26:03.000000459
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...