我有一个具有以下格式的文件:
name 3 4
name -4 3
name -5 4
name 2 -4
我想使此子指令为$ 2- $ 3,并在文件的开头添加一个额外的列,并在第二列的基础上加上-/ +号,以获取以下格式:
- name -1 3 4
- name -7 -4 3
- name -9 -5 4
+ name 6 2 -4
我使用了此命令
awk '{print $1,$2-$3,$2,$3}' FILE |if ($2 < 0 ) then awk '{print "-",$0}' ; else awk '{print "+",$0}'; fi
哪个给予:
- name -1 3 4
- name -7 -4 3
- name -9 -5 4
- name 6 2 -4
我试图用大括号“玩”,但似乎我的情况在第一次awk之后就停止了。我的命令有什么错?
您能不能尝试以下操作。
awk '{$1=$2>$3?"+":"-" OFS $1 OFS $2-$3} 1' Input_file
如果要用TAB分隔输出,请尝试以下操作。
awk 'BEGIN{OFS="\t"} {$1=$2>$3?"+":"-" OFS $1 OFS $2-$3} 1' Input_file