我想修改前两列并打印其余列
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 ...
答案 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