如何使用perl在文件中进行inplace替换

时间:2014-02-04 18:20:41

标签: regex perl shell

这是我的输入文件

{1:ABCDEFGHXXX}{2:I300IRVTUKAXXXX}
:20:REFERENCE
:82A:IRVTUKYXXX
:87A:ABCDEF

我需要将行82A:IRVTUKYXXX更改为82A:IRVTUK0XXX 这意味着我必须在以下之后找到第8个字符:82:并将其替换为0

我们是否有任何perl脚本或命令来替换特定位置的任何字符。在这种情况下,它是我要匹配的模式的第8个字符。

1 个答案:

答案 0 :(得分:2)

您可以使用:

perl -i -pe 's/(?<=:82A.{7})./0/' file

cat file
{1:ABCDEFGHXXX}{2:I300IRVTUKAXXXX}
:20:REFERENCE
:82A:IRVTUK0XXX
:87A:ABCDEF