- 论坛徽章:
- 8
|
5可用积分
本帖最后由 huang6894 于 2014-11-10 13:04 编辑
各位大神,我想在perl中调用这两条命令:- awk -F'\t' -vOFS='\t' 'NR==FNR{a[$2]=$3">>>"$4">>>"$5;next} {{split($79,b,";");for(i in b)if(b[i] in a){sub(b[i],a[b[i]],$79)}};$0=$0";"}1' $disease_all_db $outdir/$date".disease.part"|awk -F'\t' '{print $79}'|sort|uniq|awk -F'>>>' '$3{if(($2!=".")&&($3!=".")&&($2!~/\[[0-9].*\]/)){print $1"\t"$2"[1]\t[1]"$3}else if(($2!=".")&&($3!=".")&&($2~/\[[0-9].*\]/)){print $1"\t"$2"\t"$3}}' |sed 's/"//g'|sed 's/\[1\]\t\[1\] //g'|awk -F'\t' '{print $1">>>"$2}'|sed -r 's/\s*,\s*/]。[/g'|sed 's/\[ /\[/g'|awk -vRS='[;。、,]' '{if(sub(/\[[0-9]+\]/,"["c+1"]")){c++;printf "%s",$0RT}else{printf "%s",$0RT}}'|sed 's/。\+/。/g'|sed 's/\[[0-9]*\]。/&;/g'|sed 's/\]。;\[/,/g'|sed '/^。$/d'|sed 's/\]。\[/,/g'|sed '/^ $/d'|awk -vdisease_definition_title="$disease_definition_title" -vdisease_definition_main="$disease_definition_main" -vdisease_definition_end="$disease_definition_end" -vnewline="$disease_definition_newline" -F'>>>' '{gsub("\\$\\$",newline,$2);sub("; $","。",$2);sub(";$","。",$2);print disease_definition_title""$1""disease_definition_main""$2""disease_definition_end}' >$outdir/$date".disease.definition.report"
- awk -F'\t' -vOFS='\t' 'NR==FNR{a[$2]=$3">>>"$4">>>"$5;next} {{split($79,b,";");for(i in b)if(b[i] in a){sub(b[i],a[b[i]],$79)}};$0=$0";"}1' $disease_all_db $outdir/$date".disease.part"|awk -F'\t' '{print $79}'|sort|uniq|awk -F'>>>' '$3{if(($2!=".")&&($3!=".")&&($2!~/\[[0-9].*\]/)){print $1"\t"$2"[1]\t[1]"$3}else if(($2!=".")&&($3!=".")&&($2~/\[[0-9].*\]/)){print $1"\t"$2"\t"$3}}' |sed 's/"//g'|sed 's/\[1\]\t\[1\] //g'|awk -F'\t' '{print $3}'| awk -vRS='\\[[0-9]+\\]|\n' -vcds_ref_start="$disease_ref_start" -vcds_ref_in="$disease_ref_in" -vcds_ref_end="$disease_ref_end" '/^$/{next}{printf cds_ref_start"["++c"] "$0""cds_ref_end}' >$outdir/$date".disease_ref.report"
复制代码 可是一直提示报错,我想应该是转义的问题,请问除了$要转义外,我还需要做什么转义呢? |
最佳答案
查看完整内容
回复 1# huang6894 不需要转义。shellcmd = q@your command@;
|