我有以下製表符分隔的輸入文件。我想刪除行尾的尾部標籤,然後在「文件」中執行該操作,這樣我就不必將修改過的數據輸出到新文件中。原因是有大量的數據,所以我不想效率低下,讀取數據然後再寫出來。在mac中刪除行尾的標籤
Hybridization REF Gene_Symbol Chromosome Genomic_Coordinate TCGA-13-A5FT-01A-11D-A409-05 TCGA-13-A5FU-01A-11D-A409-05 TCGA-29-A5NZ-01A-11D-A409-05 TCGA-3P-A9WA-01A-11D-A409-05 TCGA-59-A5PD-01A-11D-A409-05 TCGA-5X-AA5U-01A-11D-A409-05 TCGA-OY-A56P-01A-12D-A409-05 TCGA-OY-A56Q-01A-11D-A409-05 TCGA-VG-A8LO-01A-11D-A409-05 TCGA-WR-A838-01A-12D-A409-05
cg00000029 RBL2 16 53468112 0.162232896986279 0.191627667901702 0.0712181967886229 0.0797617926225958 0.134907151266991 0.0541415985613948 0.0898579298345672 0.037865566345129 0.0681542463965581 0.101053013486289
cg00000108 C3orf35 3 37459206 NA NA NA NA NA NA NA NA NA NA
cg00000109 FNDC3B 3 171916037 NA NA NA NA NA NA NA NA NA NA
要做到這一點,我一直在使用的變化:
sed -i '' 's/\t\n/\n/g' input.txt
但這並不甚至刪除尾隨標籤。我使用Mac OS X,因此沒有GNU。解決辦法是什麼?
EDIT
我已經發布文本文件here
反正我做了,但是我必須先運行'dos2unix'命令嗎? – user3313178
@ghoti:感謝您對我的回答發表評論。確實讓人大開眼界。 – sjsam
@ user3313178 - 很高興這爲你工作!關於dos2unix,你的問題中沒有任何東西可以表明你需要它,但你可以'cat -vet file.txt | less'或'od -c file.txt |更少「來更好地瞭解您正在處理的原始數據。如果你有DOS行結尾,有很多刪除它們的策略,在這裏很多問題可能不會在這裏重複。 :-) – ghoti