>cat file1.txt
aa bb
ccc dd
ee fff
>cat file2.txt
1
2
3
我想得到如下结果:
aa1bb
ccc2dd
ee3fff
file1.txt中的空格将被file2.txt中的数字替换。
答案 0 :(得分:3)
paste
+ awk
方法:
paste file1.txt file2.txt | awk '{ print $1$3$2 }'
输出:
aa1bb
ccc2dd
ee3fff
答案 1 :(得分:1)
awk
的直接方式,
$ awk 'NR==FNR{a[NR]=$0;next}{sub(/\ /,a[FNR])}1' file2 file1
aa1bb
ccc2dd
ee3fff
简要说明,
NR==FNR{a[NR]=$0;next}
:将file2中的每条记录存储到数组a sub(/\ /,a[FNR])
:用a[FNR]
替换file2中的空格,其中FNR将是file2中的记录号。1
将在file2中打印每个已处理的行答案 2 :(得分:0)
使用bash while-read循环
while read -u3 a b; read -u4 n; do
echo "$a$n$b"
done 3<file1.txt 4<file2.txt