У меня есть два файла, и я хочу объединить данные построчно. Входными файлами являются 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
для получения результата?
Обычно существует некоторый изящный способ сделать задачу, но можно провести больше времени, ища его, чем просто грубая сила. Не используя sed или вставка (просто окружают builtins):
#!/bin/bash
while read line1
do
while read line2
do
echo ${line1}${line2}
done <file2.txt
done <file1.txt
Пока 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