我正在使用sed,我需要将文件2中的文本添加到文件1中每一行的末尾。
我尝试使用类似sed 's/.*/name & /' input.txt > output.txt
之类的方法,但是它不起作用。
file1
包含:
name,text1,
name,text2,
name,text3,
file2
包含:
animals.com
cars.com
planes.com
最终输出:
name,text1,animals.com
name,text2,cars.com
name,text3,planes.com
答案 0 :(得分:0)
尝试一下:
paste -d ' ' file1 file2 | sed "s/ //"
答案 1 :(得分:0)
通过bash shell;
i=1;while read l ;do sed -En "$i{s/.*/$l&/p;q}" file2 ;let i++; done<file1
如果file1有空间,则第一个预设IFS =''
答案 2 :(得分:0)
这可能对您有用(GNU sed):
sed '=' file2 |
sed 'N;s/\n\(.*\)/s#$#\1#/' |
sed -f - file1
在file2的每一行之前加上其行号。
将file2的每一行转换为替换行,并将其行的内容附加到预期文件的相同行号上。
运行sed的第三次调用,以将制造的sed脚本应用于file1。
替代:
parallel echo {1}{2} :::: file1 ::::+ file2