我有一个大的制表符分隔数据库,如下所示:
1 14933 14933 G A ID=COSN404397;OCCURENCE=1(lung)
1 14948 14948 G A ID=COSN415697,COSN415698;OCCURENCE=2(urinary_tract)
1 69537 69537 G T ID=COSM536198;OCCURENCE=1(lung)
1 69538 69538 G A ID=COSM75742;OCCURENCE=1(ovary)
...
我正在尝试使用awk或grep来保留只有OCCURENCE> = 3的行(是的,它在整个数据库中拼错了!),但我似乎无法弄清楚如何最好地分割/扫描第6列...
答案 0 :(得分:1)
这个简短的单行应该适合你。顺便说一句,你当前的例子中没有OCCURENCE>=3
行:)
awk -F'OCCURENCE=|\\(' '$2>=3' file
好吧......如果打高尔夫球...... (=
是关键......:D
awk -F'[(=]' '$3>2' file
答案 1 :(得分:0)
试试这个:
$ awk -F\; '{ if (substr($2,11,index($2,")")) >= 3) print $0; }' x.txt
答案 2 :(得分:0)
短一个衬垫,仍保持FS
可用:
$ awk -F'[(=\t;]' '$9>2' file