这篇文章的延续:
使用awk
解析特定条件并道歉如果我应该添加到帖子中,我应该将其添加到该帖子吗?我试图修改下面的awk
脚本,但没有运气
awk 'NR==2 {
split($2,a,"[_.>]");b=substr(a[4],1,length(a[4]-1));
print a[2]+0,b,b,substr(a[4],length(a[4])),a[5]}' \
OFS="\t" ${id}_position.txt > ${id}_parse.txt
我有多个可能的条件,用户可以输入导致不同的输出。其中一个条件是数据样本,需要解析粗体字段:
` parse rules:
1. 4 zeros after the NC_ (not always the case) and the digits before the .
2. g. ### (before underscore) _### (# after the _)
3. TG (letters after del)
4. - (hyphen used in this spot)`
数据样本
Input Variant Errors Chromosomal Variant Coding Variant(s)
NM_004004.5:c.575_576delCA **NC_000013.10:g.20763145_20763146delTG** NM_004004.5:c.575_576delCA XM_005266354.1:c.575_576delCA XM_005266355.1:c.575_576delCA XM_005266356.1:c.575_576delCA
期望输出
13 20763145 20763146 TG -
谢谢你:)。
答案 0 :(得分:1)
TXR Language:
Input Variant@(skip)
@(skip)NC_@{nc-raw}.@(skip)g.@{g-left}_@{g-right}del@{letters 2}@(skip)
@(bind nc-num @(int-str nc-raw))
@(output)
@{nc-num 6} @{g-left 12} @{g-right 12} @{letters 6} -
@(end)
Run:
$ txr nc.txr data
13 20763145 20763146 TG -
All in the command line:
$ txr -c 'Input Variant@(skip)
@(skip)NC_@{nc-raw}.@(skip)g.@{g-left}_@{g-right}del@{letters 2}@(skip)
@(bind nc-num @(int-str nc-raw))
@(output)
@{nc-num 6} @{g-left 12} @{g-right 12} @{letters 6} -
@(end)' data
13 20763145 20763146 TG -