我想删除一行设置属性last-lrm-refresh
(通常是一组设置中的最后一行),其中输入看起来像像这样:
dc-version=1.1.16-94ff4df \
cluster-infrastructure=corosync \
maintenance-mode=false \
last-lrm-refresh=1523005561
以下不起作用。我究竟做错了什么?我安装了Perl v5.20.2。
perl -pe 's/ \\\n[ \t]+last-lrm-refresh=[0-9]+//smg' < in.out > out.txt
答案 0 :(得分:3)
您正在读取一行,其中一行被定义为以换行符结尾的字符数,因此\n[ \t]
可能无法匹配。您可以通过将行的定义更改为整个文件(-0777
)来解决此问题。
perl -0777pe 's/ \\\n[ \t]+last-lrm-refresh=[0-9]+//' in.txt > out.txt