我有一个看起来像这样的文件:
chr1 156706559 rs8658 A C,G 370.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=19;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=56.74;MQ0=0;POSITIVE_TRAIN_SITE;QD=19.49;VQSLOD=6.27;culprit=FS;EFF=3_prime_UTR_variant(MODIFIER||123|c.*123A>C|RRNAD1|protein_coding|CODING|NM_001142560.1|7) GT:AD:DP:GQ:PL 1/2:0,7,12:19:99:503,293,272,210,0,183
chr10 22839463 rs10047326 C A,T 202.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=10;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=60.00;MQ0=0;POSITIVE_TRAIN_SITE;QD=20.23;VQSLOD=10.48;culprit=FS;EFF=intron_variant(MODIFIER|||c.792+125G>T|PIP4K2A|protein_coding|CODING|NM_005028.4|7) GT:AD:DP:GQ:PL 1/2:0,6,4:10:99:317,127,109,190,0,178
chr10 75673731 rs2227566 C G,T 735.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=33;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=55.90;MQ0=0;QD=22.28;VQSLOD=6.01;culprit=FS;EFF=splice_region_variant(LOW|||c.630C>G|PLAU|protein_coding|CODING|NM_001145031.1|6) GT:AD:DP:GQ:PL 1/2:0,8,25:33:99:913,734,710,179,0,110
chr12 54805753 rs1922254 G C,T 404.66 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=18;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=55.34;MQ0=0;QD=22.48;VQSLOD=5.61;culprit=FS;EFF=splice_region_variant(LOW|||c.219C>G|ITGA5|protein_coding|CODING|NM_002205.2|1) GT:AD:DP:GQ:PL 1/2:0,4,14:18:67:540,434,422,106,0,67
chr15 50150903 rs7497350 C A,T 3655.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=140;Dels=0.00;FS=0.000;HaplotypeScore=1.8136;MLEAC=1,1;MLEAF=0.500,0.500;MQ=60.00;MQ0=0;POSITIVE_TRAIN_SITE;QD=26.11;VQSLOD=10.96;culprit=FS;EFF=3_prime_UTR_variant(MODIFIER||1488|c.*1488G>T|ATP8B4|protein_coding|CODING|NM_024837.3|28) GT:AD:DP:GQ:PL 1/2:0,62,78:140:99:4121,2349,2187,1772,0,1553
chr16 11678403 rs8054918 T C,G 283.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=18;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=60.00;MQ0=0;QD=15.74;VQSLOD=10.55;culprit=FS;EFF=intron_variant(MODIFIER|||c.-6+1599A>G|LITAF|protein_coding|CODING|NM_004862.3|1) GT:AD:DP:GQ:PL 1/2:0,9,9:18:99:407,181,160,226,0,208
chr16 78503259 rs2738676 G A,C 166.31 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=9;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=60.00;MQ0=0;QD=18.48;VQSLOD=10.91;culprit=QD;EFF=intron_variant(MODIFIER|||c.717+36610G>A|WWOX|protein_coding|CODING|NM_001291997.1|7) GT:AD:DP:GQ:PL 1/2:0,3,6:9:80:279,181,172,98,0,80
chr17 4205297 rs1866174 C A,T 189.29 PASS AC=1,1;AF=0.500,0.500;AN=2;DB;DP=12;Dels=0.00;FS=0.000;HaplotypeScore=0.0000;MLEAC=1,1;MLEAF=0.500,0.500;MQ=47.61;MQ0=0;POSITIVE_TRAIN_SITE;QD=15.77;VQSLOD=3.80;culprit=MQ;EFF=intron_variant(MODIFIER|||c.149+5019G>T|UBE2G1|protein_coding|CODING|NM_003342.4|2) GT:AD:DP:GQ:PL 1/2:0,5,7:12:87:307,202,187,105,0,87
想提取" EFF = ....."从每一行开始,在上面的例子中,所需的输出是
EFF=3_prime_UTR_variant
EFF=intron_variant
EFF=splice_region_variant
上面的输出是前三行。
我尝试了什么。
grep -no 'EFF="[^"]*"' file.txt
它没有用。
请帮助
答案 0 :(得分:2)
随意尝试:
grep -Po 'EFF=[^(]*' file.txt
输出:
EFF=3_prime_UTR_variant EFF=intron_variant EFF=splice_region_variant EFF=splice_region_variant EFF=3_prime_UTR_variant EFF=intron_variant EFF=intron_variant EFF=intron_variant
grep -Po 'EFF=\K[^(]*' file.txt
3_prime_UTR_variant intron_variant splice_region_variant splice_region_variant 3_prime_UTR_variant intron_variant intron_variant intron_variant
答案 1 :(得分:2)
grep -o "EFF=\w*" /root/testSO
给出:
EFF=3_prime_UTR_variant
EFF=intron_variant
EFF=splice_region_variant
EFF=splice_region_variant
EFF=3_prime_UTR_variant
EFF=intron_variant
EFF=intron_variant
EFF=intron_variant
EFF=\w*
是正则表示匹配的EFF=
后跟\w
和*
所代表的任何单词字符(toz A到Z 0到9或_)表示最后一个类(\w
)重复0次或更多次
编辑后注意:
第一个答案使用-n
命令行选项在输出上添加数字,只是修复OP命令而不考虑整个问题。感谢@ChrisMae指出来。
答案 2 :(得分:1)
awk可以帮到你。这个命令:
awk 'match($0, /EFF=([^(]+)/, arr) { print arr[1]}' file.txt
将提取您可能正在寻找的变量。
3_prime_UTR_variant
intron_variant
splice_region_variant
如果你真的想要EFF=
部分;这个命令应该做(感谢@Tensibai)
awk 'match($0, /EFF=([^(]+)/, arr) { print "EFF="arr[1]}' file.txt
这给出了:
EFF=3_prime_UTR_variant
...
答案 3 :(得分:1)
grep -o 'EFF=[^(]*' input
应该