Perl默认使用s///进行文本替换,例如把test.log里的abc替换成123,在终端下执行如下命令:
perl -pi -e 's/abc/123/' test.log
s/src_patten/dst_patten/,其中"/"作为patten的定界符,如果src_patten或dst_patten中也包含"/",那么就需要使用"\"对patten中的"/"进行转义,例如把test.log里的../abc替换成../../abcd,在终端下执行如下命令:
perl -pi -e 's/..\/abc/..\/..\/abcd/' test.log
这样命令显得比较复杂,perl支持其它界定符,例如###,上述命令改为:
perl -pi -e 's#../abc#../../abc#' test.log
是不是简洁很多?