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

时间:2013-12-29 19:06:50

标签: 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   ...

但是我想把结果放在一行:

col1  col2  col2+1  col3 col4 ...

2 个答案:

答案 0 :(得分:1)

我认为你的意思是:

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   

答案 1 :(得分:0)

不确定你想要什么,但在这里你看到如何修改两个第一列,然后打印所有。

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