Как объединить данные двух файлов построчно?

У меня есть два файла, и я хочу объединить данные построчно. Входными файлами являются file.txt и file2.txt.

file1.txt

howareu
abc
zooo

file2.txt

123
@@
099

Я хочу объединить два файла, так что вывод будет:

output.txt

howareu123
howareu@@
howareu0999
abc123
abc@@
abc0999
zooo123
zooo@@
zooo0999

Есть ли способ сделать это? Есть ли способ использовать команду sed или paste для получения результата?

2
задан 27 August 2019 в 17:54

2 ответа

Обычно существует некоторый изящный способ сделать задачу, но можно провести больше времени, ища его, чем просто грубая сила. Не используя sed или вставка (просто окружают builtins):

#!/bin/bash
while read line1
do
  while read line2
  do
    echo ${line1}${line2}
  done <file2.txt
done <file1.txt
1
ответ дан 2 December 2019 в 03:27

Пока file2.txt не является слишком большим, я предложил бы awk:

$ awk 'NR==FNR {a[FNR] = $0; next} {for(i=1;i in a;i++) print $0 a[i]}' file2.txt file1.txt
howareu123
howareu@@
howareu099
abc123
abc@@
abc099
zooo123
zooo@@
zooo099
1
ответ дан 2 December 2019 в 03:27

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

Похожие вопросы: