Chinaunix
标题:
怎么转义一条命令
[打印本页]
作者:
huang6894
时间:
2014-11-10 13:03
标题:
怎么转义一条命令
本帖最后由 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"
复制代码
可是一直提示报错,我想应该是转义的问题,请问除了$要转义外,我还需要做什么转义呢?
作者:
ly5066113
时间:
2014-11-10 13:03
本帖最后由 ly5066113 于 2014-11-10 13:20 编辑
回复
1#
huang6894
不需要转义。
shellcmd = q@
your command
@;
作者:
huang6894
时间:
2014-11-10 13:54
回复
2#
ly5066113
学习了。。。谢谢
作者:
yestreenstars
时间:
2014-11-10 14:14
好特么长的命令啊!!!
作者:
huang6894
时间:
2014-11-10 14:57
回复
4#
yestreenstars
半桶水写的就是这么diao
作者:
刺客阿地
时间:
2014-11-12 16:05
相当叼,对于这么长的,初学者,我就不看了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2