Perl替换时使用不同于///的定界符

上一篇 / 下一篇  2017-03-20 16:17:04 / 个人分类:脚本

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
是不是简洁很多?





TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2017-06-14  
    123
45678910
11121314151617
18192021222324
252627282930 

我的存档

数据统计

  • 访问量: 164
  • 日志数: 1
  • 建立时间: 2017-03-20
  • 更新时间: 2017-03-20

RSS订阅

Open Toolbar