我试图从其中一个配置文件中取消注释“/usr/lib/sa/sa 1”或“/usr/lib/sa/sa/sa 2”条目。
下面是正则表达式:
"^[0-9].*/usr/lib/sa/sa(1|2)"例:
#0 * * * * /usr/lib/sa/sa1 1200 3 &
#5 23 * * * /usr/lib/sa/sa2 -s 0:00 -e 23:01 -i 3600 -ubcwyaqvm &产出应是:
0 * * * * /usr/lib/sa/sa1 1200 3 &
5 23 * * * /usr/lib/sa/sa2 -s 0:00 -e 23:01 -i 3600 -ubcwyaqvm &尝试了下面的"sed“命令,但没有成功:
sed -e '/^#.*\/usr\/lib\/sa\/sa\(1\|2\)/s/^#//g' adm你能告诉我我哪里出问题了吗?
提前感谢!
发布于 2022-08-23 11:12:47
您可以使用
sed '/^#.*\/usr\/lib\/sa\/sa[12]/s/^#//'在这里,不使用分组构造,也不使用交替运算符。这是可能的,因为1和2是单一的char替代品,并且在sed的所有版本中都支持括号表达式。
另外,请参见这个在线演示。
https://stackoverflow.com/questions/73447823
复制相似问题