|で区切られた項目を持つファイルがあります。そしてタブ。
#Name Length Bases Coverage Reads RPKM Frags FPKM
ENST00000423372.3|ENSG00000237683.5|-|-|AL627309.1-201|AL627309.1|2661|UTR5:1-70|CDS:71-850|UTR3:851-2661| 2661 1989878 747.7933 13178 33.6603 6589 33.6603
ENST00000426406.1|ENSG00000235249.1|OTTHUMG00000002860.1|OTTHUMT00000007999.1|OR4F29-001|OR4F29|995|UTR5:1-19|CDS:20-958|UTR3:959-995| 995 302 0.3035 2 0.0137 1 0.0137
ENST00000599533.1|ENSG00000269831.1|-|-|AL669831.1-201|AL669831.1|129|CDS:1-129| 129 52548 407.3488 348 18.3359 174 18.3359
ENST00000437963.1|ENSG00000187634.6|OTTHUMG00000040719.8|OTTHUMT00000097862.3|SAMD11-003|SAMD11|387|UTR5:1-60|CDS:61-387| 387 302 0.7804 2 0.0351 1 0.0351
ENST00000342066.3|ENSG00000187634.6|OTTHUMG00000040719.8|OTTHUMT00000276866.2|SAMD11-010|SAMD11|2551|UTR5:1-83|CDS:84-2129|UTR3:2130-2551| 2551 17818 6.9847 118 0.3144 59 0.3144
ENST00000341065.4|ENSG00000187634.6|OTTHUMG00000040719.8|OTTHUMT00000097860.4|SAMD11-001|SAMD11|2191|CDS:1-1769|UTR3:1770-2191| 2191 12080 5.5135 80 0.2482 40 0.2482
ENST00000455979.1|ENSG00000187634.6|OTTHUMG00000040719.8|OTTHUMT00000097863.4|SAMD11-004|SAMD11|1731|CDS:1-1625|UTR3:1626-1731| 1731 302 0.1745 2 0.0079 1 0.0079
ENST00000598827.1|ENSG00000268179.1|-|-|AL645608.1-201|AL645608.1|336|CDS:1-336| 336 302 0.8988 2 0.0405 1 0.0405
私が望む出力は
AL627309.1 33.6603
OR4F29 0.0137
AL669831.1 18.3359
SAMD11 0.0351
SAMD11 0.3144
SAMD11 0.2482
SAMD11 0.0079
separated by tab.
tabsを使用して|をすべて置き換えましたが、tr '|' "\t" < input.file
フィールドは可変であるため、結果ファイルにこの内容が表示されます。
#Name Length Bases Coverage Reads RPKM Frags FPKM
ENST00000423372.3 ENSG00000237683.5 - - AL627309.1-201 AL627309.1 2661 UTR5:1-70 CDS:71-850 UTR3:851-2661 2661 1989878 747.7933 13178 33.6603 6589 33.6603
ENST00000426406.1 ENSG00000235249.1 OTTHUMG00000002860.1 OTTHUMT00000007999.1 OR4F29-001 OR4F29 995 UTR5:1-19 CDS:20-958 UTR3:959-995 995 302 0.3035 2 0.0137 1 0.0137
ENST00000599533.1 ENSG00000269831.1 - - AL669831.1-201 AL669831.1 129 CDS:1-129 129 52548 407.3488 348 18.3359 174 18.3359
ENST00000437963.1 ENSG00000187634.6 OTTHUMG00000040719.8 OTTHUMT00000097862.3 SAMD11-003 SAMD11 387 UTR5:1-60 CDS:61-387 387 302 0.7804 2 0.0351 1 0.0351
ENST00000342066.3 ENSG00000187634.6 OTTHUMG00000040719.8 OTTHUMT00000276866.2 SAMD11-010 SAMD11 2551 UTR5:1-83 CDS:84-2129 UTR3:2130-2551 2551 17818 6.9847 118 0.3144 59 0.3144
ENST00000341065.4 ENSG00000187634.6 OTTHUMG00000040719.8 OTTHUMT00000097860.4 SAMD11-001 SAMD11 2191 CDS:1-1769 UTR3:1770-2191 2191 12080 5.5135 80 0.2482 40 0.2482
ENST00000455979.1 ENSG00000187634.6 OTTHUMG00000040719.8 OTTHUMT00000097863.4 SAMD11-004 SAMD11 1731 CDS:1-1625 UTR3:1626-1731 1731 302 0.1745 2 0.0079 1 0.0079
これを行う優雅な方法がある場合は、ご案内ください。
ベストアンサー1
タブとスペースが正しいと仮定すると、これは機能します。column -t
これを別のツールにリンクする場合は、フィールド間にタブのみを含めて削除します。
awk -F'[|\t]' '!/^#/{printf "%s\t%s\n", $6, $NF}' your_datafile | column -t
|
これにより、2つのタブのうちの1つのデータが分割され、1.で始まる列に番号が付けられ、1.で始まらないすべての!/^#/
行と一致します#
(意図はヘッダー行をスキップするためですNR>1
。)この$6
構成は、6番目のフィールドを選択します。$NF
フィールド番号に関係なく、最後のフィールドが選択されます。
サンプルデータファイル出力を使用して、
AL627309.1 33.6603
OR4F29 0.0137
AL669831.1 18.3359
SAMD11 0.0351
SAMD11 0.3144
SAMD11 0.2482
SAMD11 0.0079
AL645608.1 0.0405