【发布时间】:2022-07-08 22:54:59
【问题描述】:
(GNU) sed 中是否有办法对正则表达式地址匹配的确切字符串执行s 替换?
避免重复已经用于选择行的正则表达式的东西?
一个难以阅读的sed 调用示例,其中使用相同的正则表达式来匹配s 命令将运行的行以及确定该行中将替换的内容。
sed -i -e '/verycomplexregexp/s/verycomplexregexp/something/'
【问题讨论】:
(GNU) sed 中是否有办法对正则表达式地址匹配的确切字符串执行s 替换?
避免重复已经用于选择行的正则表达式的东西?
一个难以阅读的sed 调用示例,其中使用相同的正则表达式来匹配s 命令将运行的行以及确定该行中将替换的内容。
sed -i -e '/verycomplexregexp/s/verycomplexregexp/something/'
【问题讨论】:
在s 命令中使用empty regexp // 可以避免重复用于选择行的正则表达式:
sed -i -e '/verycomplexregexp/s//something/'
空的正则表达式// 指的是模式空间中先前匹配的文本。当使用 regexp-address 时,空的 regexp 指向使该行与地址匹配的字符串。
【讨论】: