Awk 修改前n列并打印行的其余部分

Awk 修改前n列并打印行的其余部分,awk,Awk,我想修改前两列并打印其余的 col1 col2 col3 col4 ... 到目前为止,我尝试的是: cat file | awk -v OFS="\t" '{print $1,$2,$2+1; for(i=3;i<=NF;i++){printf " %s", $i} printf "\n"}' | head 但是,我希望在一行上显示结果: col1 col2 col2+1 col3 col4 ... 我想你的意思是: cat file 1 2 3 4 5 6 7 8

我想修改前两列并打印其余的

col1  col2  col3 col4 ... 
到目前为止,我尝试的是:

cat file | awk -v OFS="\t" '{print $1,$2,$2+1;  for(i=3;i<=NF;i++){printf " %s", $i} printf "\n"}' | head
但是,我希望在一行上显示结果:

col1  col2  col2+1  col3 col4 ...
我想你的意思是:

cat file
1 2 3 4 5 6 7 8

$ awk '{$2=$2 OFS $2+1}1' OFS='\t' file
1    2    3    3    4    5    6    7    8   

不确定您想要什么,但在这里您可以看到如何修改前两列,然后全部打印

awk '{$1="new1";$2="new2"}1' file
new1 new2 col3 col4
awk '{$1="new1";$2="new2"}1' file
new1 new2 col3 col4