我需要从三个中减去第二列。因此,我在Linux服务器awk '$3 - $2' in.bed >out.bed
上运行以下代码,生成的输出文件与输入文件相同。我无法理解为什么这个命令不起作用!有人可以帮忙吗?
in.bed是:
chr19 2255482 2259550
chr19 2270962 2272924
chr19 2326618 2327833
chr19 2329714 2333233
答案 0 :(得分:4)
您放置它的方式,$3 - $2
被解析为条件:选择并打印$3 - $2
不为零的那些行(因为打印行不变是默认操作)。
你可以这样做你想做的事:
awk '{ print $3 - $2 }' in.bed > out.bed
{}
表示其中包含的内容是一个操作,并且由于没有附加条件,{ print $3 - $2 }
将无条件地执行所有行。