2015-02-10 63 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