次のように、20,000行を超えるテキストファイルがあります。
7 128550681 128550681 Intron:1:36:RETAINED-RETAINED;Transcript:NM_001135914.1;Gene:KCP:protein_coding 1 1 0 0
1 17718672 17718672 Intron:9:16:RETAINED-RETAINED;Transcript:NM_207421.4;Gene:PADI6:protein_coding 1 1 0 0
1 17718672 17718672 Intron:9:16:RETAINED-RETAINED;Transcript:NM_207421.4;Gene:PADI6:protein_coding 1 1 0 0
4 86035 86035 Exon:4:5:RETAINED;Transcript:NM_001286052.1;Gene:ZNF595:protein_coding 1 1 0 0
3 12942851 12942851 Intron:14:14:SKIPPED-ALTTENATIVE_3SS;Transcript:NM_001134382.2;Gene:IQSEC1:protein_coding 1 1 0 0
必要なのは、4番目の列にGene:genenameのみが含まれているため、出力は次のようになります。
7 128550681 128550681 Gene:KCP 1 1 0 0
1 17718672 17718672 Gene:PADI6 1 1 0 0
1 17718672 17718672 Gene:PADI6 1 1 0 0
4 86035 86035 Gene:ZNF595 1 1 0 0
3 12942851 12942851 Gene:IQSEC1 1 1 0 0
Gene:genename
*:
押したり分割したりすると、問題は常に同じ場所に表示されません。;
私は特定の列を選択する方法、特定のパターンを含む行を見つける方法など、非常に基本的なawk / sedを知っています。
ベストアンサー1
awk
次のコマンドを使用してこれを実行できました。
awk '{sub(/^.*;/,"",$4); print}' input
これにより、最後の項目までの列4の内容がすべて削除され、機能しなくなる可能性があり;
ます(Steeldriverの説明を参照)。この場合は、明確な説明を含む質問を更新してください。