2015-10-21 66 views
-1

“FILE1.TXT”看起来是这样的:打印大写发生

_1ss4TG actaaAAAACAAGTAAGCGTAATTCCTCCtagataataaaTTTACTAGTtata 
osa-miR5523_L-1R+1 actaaAAAACAAGTAAGacatGAGGAGGAACATATTTACTAGTtata 
ath-miR156a-5p ggaggTGACAGAatgcgtgctcaccctctatctgtcaccccc 

我想打印在第三列大写的发生,所以它看起来像这样:

_1ss4TG actaaAAAACAAGTAAGCGTAATTCCTCCtagataataaaTTTACTAGTtata 33 
osa-miR5523_L-1R+1 actaaAAAACAAGTAAGacatGAGGAGGAACATATTTACTAGTtata 34 
ath-miR156a-5p ggaggTGACAGAatgcgtgctcaccctctatctgtcaccccc 7 

我已经尝试过使用grep和awk,但是我没有正确的使用它。

回答

2
awk '{NF+=1;$3=length(gensub("[a-z]","","g",$2))}1' b 
_1ss4TG actaaAAAACAAGTAAGCGTAATTCCTCCtagataataaaTTTACTAGTtata 33 
osa-miR5523_L-1R+1 actaaAAAACAAGTAAGacatGAGGAGGAACATATTTACTAGTtata 34 
ath-miR156a-5p ggaggTGACAGAatgcgtgctcaccctctatctgtcaccccc 7 
+5

也许对未来的访问者有些阐述? – ptierno

+0

优秀!我不太明白答案,但它完美地工作。 – Ramirous