2017-01-26 37 views
2

我試圖在第一列上拆分覆蓋文件(製表符定界符),以便每個染色體都有一個特定的文件。在第一列上拆分

我已經與

cat file.coverage | awk ' { if ($1 == "chrn"){print}}' 

但這種方式我已經爲正樣本做n次完成。

我想這樣做的遞歸方式:讀取第一列,而chr是相同的,打印出來的文件A,否則打印在文件B等。

我該如何做到這一點?

+1

舉例說明您的輸入和預期輸出。 – Inian

+0

...'awk'{print >> $ 1「.log」}'file.coverage'? (注意:不需要cat和pipe,只需讓awk讀取文件本身。) – Tensibai

+0

「我必須做n次n樣本」 - 請使用簡單的英文。我們不知道什麼是「n次樣本n次」。同時,-1的問題。 – user31264

回答

1

由於@Tensibai在評論中指出的,你可以做 -

awk '{print >> $1".log"}' file.coverage 

Explanation-

awk一個襯墊就追加線成根據在第一列的索引命名的文件。

您不需要cat filename | awkawk能夠自行讀取文件。這是無用的使用cat

在另一個方面說明(爲你寫代碼的未來),你的初始行可能TO-

awk '$1 == "chrn"' file.coverage 

無需爲if縮短。

+0

'''就夠了,它會被追加。 – karakfa