我有这样的数据:如何提取列文本在AWK
COSM3755563_(COSMIC),_COSM3755562_(COSMIC),_rs16941_(Gene_file)
COSM148277_(COSMIC),_COSM3755561_(COSMIC),_rs16942_(Gene_file)
rs1060915_(Gene_file;_1000Genomes)
COSM3755560_(COSMIC),_rs1799966_(Gene_file)
rs206075_(Gene_file;_1000Genomes)
我需要等的输出:
rs16941
rs16942
rs1060915
rs1799966
rs206075
我只需要在此列中提取rs_number。问题是,rs_number总是在不同的位置。
我的解决办法是:
awk '{split ($1,arr1,"_"); print arr1[1)}' infile
这工作完全正常,直到我rs_number的改变位置。
感谢awk的帮助。
,添加一个循环,寻找'rs',即'的awk“{N = split($ 1,arr1,“_”);对于(i = 1; i <= n; i ++){if(arr1 [i]〜/^rs.*/)print arr1 [i}}'infile'(可能需要一个大括号不匹配固定)。祝你好运 – shellter