我有以下制表符分隔的输入文件。我想删除行尾的尾部标签,然后在“文件”中执行该操作,这样我就不必将修改过的数据输出到新文件中。原因是有大量的数据,所以我不想效率低下,读取数据然后再写出来。在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