【发布时间】:2018-10-18 16:00:05
【问题描述】:
为这个基本问题道歉,但我很困惑。我有一个名为map.txt 的基本制表符分隔文本文件。文件的第一行是列名,前面是# 字符。请注意,这是一个制表符分隔的文件。这是head map.txt的输出:
#SampleID BarcodeSequence LinkerPrimerSequence sample_type Description geneticSampleID
OSBS.087.39.M.32.18.20140227 TCCCTTGTCTCC CGGCTGCGTTCTTCATCGATGC soil Plate 1A1 OSBS_087-M-32-18-20140227-gen
OSBS.048.41.M.37.33.20140227 ACGAGACTGATT CGGCTGCGTTCTTCATCGATGC soil Plate 1A2 OSBS_048-M-37-33-20140227-gen
OSBS.048.23.M.15.31.20140227 GCTGTACGGATT CGGCTGCGTTCTTCATCGATGC soil Plate 1A3 OSBS_048-M-15-31-20140227-gen
OSBS.047.21.M.20.3.20140227 ATCACCAGGTGT CGGCTGCGTTCTTCATCGATGC soil Plate 1A4 OSBS_047-M-20-3-20140227-gen
OSBS.119.23.M.18.38.20140227 TGGTCAACGATA CGGCTGCGTTCTTCATCGATGC soil Plate 1A5 OSBS_119-M-18-38-20140227-gen
OSBS.047.41.M.22.36.20140227 ATCGCACAGTAA CGGCTGCGTTCTTCATCGATGC soil Plate 1A6 OSBS_047-M-22-36-20140227-gen
OSBS.087.41.M.40.21.20140227 GTCGTGTAGCCT CGGCTGCGTTCTTCATCGATGC soil Plate 1A7 OSBS_087-M-40-21-20140227-gen
OSBS.048.21.M.5.11.20140227 AGCGGAGGTTAG CGGCTGCGTTCTTCATCGATGC soil Plate 1A8 OSBS_048-M-5-11-20140227-gen
OSBS.119.39.M.27.5.20140227 ATCCTTTGGTTC CGGCTGCGTTCTTCATCGATGC soil Plate 1A9 OSBS_119-M-27-5-20140227-gen
我想将名称 geneticSampleID 更改为 Name 并将 BarcodeSequence 更改为 Index1。然后,我想删除除新命名的 Name 和 Index1 列之外的所有列。我希望文件的第一行保留列名Name 和Index1,前面是# 字符。在 vim 中更改列名非常简单,但删除列则不然。
期望的输出:
#Index1 Name
TCCCTTGTCTCC OSBS_087-M-32-18-20140227-gen
ACGAGACTGATT OSBS_048-M-37-33-20140227-gen
GCTGTACGGATT OSBS_048-M-15-31-20140227-gen
ATCACCAGGTGT OSBS_047-M-20-3-20140227-gen
TGGTCAACGATA OSBS_119-M-18-38-20140227-gen
ATCGCACAGTAA OSBS_047-M-22-36-20140227-gen
GTCGTGTAGCCT OSBS_087-M-40-21-20140227-gen
AGCGGAGGTTAG OSBS_048-M-5-11-20140227-gen
ATCCTTTGGTTC OSBS_119-M-27-5-20140227-gen
【问题讨论】: