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

时间:2019-08-23 11:09:34

标签: awk sed

fileA

abc

fileB

1
2
3
4
5

预期产量

abc 1
abc 2
abc 3
abc 4
abc 5

粘贴文件A文件B

我的输出是这样的

abc 1        2        3        4        5

3 个答案:

答案 0 :(得分:3)

使用awk

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

答案 1 :(得分:0)

您可以尝试这种方式

这是多于一列(在这种情况下为3)

paste fileA fileB > file

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

答案 2 :(得分:0)

这可能对您有用(GNU sed和bash):

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

将fileA中的第一行插入到fileB中所有行的开头。

使用并行的替代方法:

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