在第二个文件的每一行前面打印一个文件的第一行



fileA

abc

文件B

1
2
3
4
5

预期产出

abc 1
abc 2
abc 3
abc 4
abc 5

粘贴文件A 文件B

我的输出是这样的

ABC 1 2 3 4 5

使用awk

awk 'FNR==NR {a=$0;next} {print a,$0}' fileA fileB
abc 1
abc 2
abc 3
abc 4
abc 5

这可能对你有用(GNU sed & bash(:

sed 's/^/'$(sed 1q fileA)' /' fileB

将文件 A 中的第一行插入到 File B 中所有行的前面。

使用并行的替代方法:

parallel echo :::: <(head -1 fileA) fileB

你可以试试这种方式

这是针对多个列(在本例中为 3(

paste fileA fileB > file
awk 'NF==3 {a =$1;b=$3; print; next} {print a,$0}' file

最新更新