2015-02-10 87 views
1

我需要从三中减去第二列。所以,我在Linux服务器awk '$3 - $2' in.bed >out.bed上运行以下代码,生成的输出文件与输入文件相同。我不明白为什么这个命令不起作用!谁能帮忙?减两个数字列

的in.bed是:

chr19 2255482 2259550 
chr19 2270962 2272924 
chr19 2326618 2327833 
chr19 2329714 2333233 

回答

4

你把它的方式,$3 - $2被解析为一个条件:那些线,其中$3 - $2不为零被选择并打印(因为印刷线不变是默认行动)。

你可以做你想做的是这样的:

awk '{ print $3 - $2 }' in.bed > out.bed 

{}表示,什么是封闭在其中是一个动作,而且因为没有附加条件,{ print $3 - $2 }对所有线路无条件地执行。

+0

简而言之,我要回答:Dl ... + 1 – repzero 2015-02-10 22:56:01

+0

非常感谢@Wintermute。它的工作,真棒。 – 2015-02-10 23:00:21

+0

@RashedulIslam star this answer如果你正在寻找fo – repzero 2015-02-10 23:03:50