2012-04-08 1 views
-4

私はこの特定のファイルをトリムアウトしようとしており、データが含まれているのでハイライト部分だけが必要です。私は他のスクリプトを見てきましたが、定数値の列を削除するように記述されています。perlでファイル内の複数の列をトリミング

データは次のとおりです。

id=69 rna=**5_8S_rRNA** ntax=61 
id=58 rna=**U1** ntax=100 
id=56 rna=**U2** ntax=211 
id=37 rna=**tRNA** ntax=967 
id=75 rna=**Vault** ntax=75 
id=53 rna=**RNaseP_nuc** ntax=117 
id=57 rna=**RNaseP_bact_a** ntax=306 
id=62 rna=**RNaseP_bact_b** ntax=114 
id=41 rna=**U3** ntax=26 
id=50 rna=**6S** ntax=154 
id=84 rna=**DsrA** ntax=5 
id=48 rna=**U4** ntax=178 
id=46 rna=**SRP_euk_arch** ntax=102 
id=46 rna=**U5** ntax=181 
id=65 rna=**GcvB** ntax=26 
id=71 rna=**Telomerase-vert** ntax=37 
id=50 rna=**Telomerase-cil** ntax=20 
id=49 rna=**U6** ntax=200 
id=43 rna=**Intron_gpI** ntax=30 
id=51 rna=**RNase_MRP** ntax=67 
id=33 rna=**SECIS** ntax=61 
id=90 rna=**Histone3** ntax=64 
id=86 rna=**OxyS** ntax=5 
id=98 rna=**RRE** ntax=65 
id=54 rna=**IRE** ntax=39 
id=73 rna=**rne5** ntax=6 
id=88 rna=**snoR9** ntax=5 
id=91 rna=**GlmZ_SraJ** ntax=21 
id=77 rna=**HDV_ribozyme** ntax=33 
id=72 rna=**U8** ntax=49 
id=87 rna=**7SK** ntax=45 
id=78 rna=**VA** ntax=54 
id=79 rna=**RNAI** ntax=10 
id=98 rna=**FinP** ntax=6 
id=82 rna=**Vimentin3** ntax=19 
id=74 rna=**S15** ntax=79 

私は単に他のすべては行かなければならない、アスタリスクでアイテムを保持したいです。

+0

何も私には大胆に見えません。期待される正確な出力を表示します。 – toolic

答えて

2

これがLinuxシステム上にある場合、このPerlの1ライナーは必要な結果をもたらします。

perl -ne '/rna=(\S+)/ and print "$1\n"' myfile 

は、Windows上にある場合は、使用

perl -ne "/rna=(\S+)/ and print qq($1\n)" myfile 

出力

5_8S_rRNA 
U1 
U2 
tRNA 
Vault 
RNaseP_nuc 
RNaseP_bact_a 
RNaseP_bact_b 
U3 
6S 
DsrA 
U4 
SRP_euk_arch 
U5 
GcvB 
Telomerase-vert 
Telomerase-cil 
U6 
Intron_gpI 
RNase_MRP 
SECIS 
Histone3 
OxyS 
RRE 
IRE 
rne5 
snoR9 
GlmZ_SraJ 
HDV_ribozyme 
U8 
7SK 
VA 
RNAI 
FinP 
Vimentin3 
S15 
+2

$ 1の周りに引用符を置くことができます。これは\ nを補間するためだけです。 '-l'スイッチは改行を追加します。 '-e'の代わりに' -E'を使うと 'print'の代わりに' say'を使うことができますが、それにはv5.10以降が必要です。 :) –

関連する問題