【问题标题】:Perl statement to change a value in file not working fine用于更改文件中的值的 Perl 语句无法正常工作
【发布时间】:2015-05-12 07:02:02
【问题描述】:

我需要在 perl 中将语句 1 更改为语句 2,但它不起作用。

statement 1 = label for ='answerone'
statement 2 = suspense

使用以下语句但它不起作用:

perl -pi -e 's/<label for ='answerone'> /suspense/' /home/apanikar/public_html/tests/sub1/chp1/l1/q2.php

【问题讨论】:

  • &lt;&gt; 和正则表达式中的额外空间在做什么?你必须避开撇号。

标签: regex perl


【解决方案1】:

您不需要包含&lt;、&gt; 符号。

perl -i -pe "s/\blabel for ='answerone'/suspense/g" file

我认为是,

perl -i -pe "s/\\blabel for ='answerone'/suspense/g" file

或

perl -i -pe 's/\blabel for ='"'answerone'/suspense/g" file

【讨论】:

  • @Klas 为什么要逃避l?
  • 我正在删除 b,没有看到反斜杠。编辑错误(我的错)。
  • 谢谢 Avinash 和 Klas - 成功了!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
  • 2013-07-18
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
相关资源
最近更新 更多