0
下面的命令和问题仅仅是为了弄清楚正确的语法,所以请不要追求它背后的任何深层次的目的,而是如果你知道这将是适当的语法对我很有帮助。perl系统中的字符串替换()命令
我有以下几点: *在这里使用perl -e来模仿一个调用system()命令来执行unix命令的perl文件。
perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*};")';
这个命令很好地输出:
file.bed
file.bed
file
我想补充另一个回声,它取代了后缀 “.bed” 的后缀 “.bam” 我想:
perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*}; echo \${j/.bed/.bam}")';
,但我得到:
file.bed
file.bed
file
sh: 1: Bad substitution
同样适用于:[%*]
perl -e '$i="file.bed"; system("j=$i; echo ${i} ;echo \${j}; echo \${j%.*}; echo \${j\/.bed\/.bam}")';
所以,出于某种原因,后缀拆除工程就好系统内(),但{//}替换将失败。
任何想法?
@toolic,'system'不使用'tcsh',所以这是一个相当无用的陈述。 – ikegami