每行打印第一行的值

每行打印第一行的值

我有以下格式的文件:

 1.0
 2.0
 3.0
 4.0
 5.0

是否可以将第一行中的值复制1.0到 awk 中每行的开头?像这样:

 1.0 1.0
 1.0 2.0
 1.0 3.0
 1.0 4.0
 1.0 5.0

答案1

awk 'NR==1 {f=$1} {print f,$1}' file

输出:

1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0

如果当前行号 ( NR) 为 1,则将列 1( $1) 保存到变量f。每行打印变量的内容f和第 1 列的内容。

答案2

我已经通过 sed 命令完成了此操作,按预期工作


k=`sed -n 1p file`;sed "s/^/$k /g" file

输出


1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0

相关内容