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