如何用sed保留替换后的字符串的内容

阿努拉格·库玛(Anurag Kumar)

我试图用来sed替换一行文本,以使找到的文本保持完整,并在其末尾添加一个冒号。

具体来说,在文件中,有一堆这种格式的行

CWMPVendorXEventCodeCutOff              20
CWMP<othertitle>              20

我想把它们变成这种格式

CWMPVendorXEventCodeCutOff:              20
CWMP<othertitle>:                        20

我现在在这个

sed 's_CWMP.*?\\s_CWMP.*?:_g'

但这显然行不通。我将如何去做呢?

库萨兰达
sed 's/\<CWMP[^[:blank:]]*/&:/' file

&在更换部分将由该取代的正则表达式的一部分相匹配的字符串替换。这将匹配CWMP后跟任意数量的非空白字符。\<在模式的开始将确保该字符串CWMP出现在最开始一个字的(即不是作为一个子字符串别的地方)。

sed 's/^CWMP[^[:blank:]]*/&:/' file

如果您需要在行的开头强制进行匹配。


在某些情况下,您还可以使用

awk '$1 ~ /^CWMP/ { $1 = $1 ":"; print }' file

假设您想将第一个以空格分隔的单词与匹配^CWMP,然后:在该单词的末尾添加a 但是,这将“吃掉”这些行上两个字段之间的所有空格,并用一个空格替换它们:

$ awk '$1 ~ /^CWMP/ { $1 = $1 ":"; print }' file
CWMPVendorXEventCodeCutOff: 20

$1 ~如果要在每行的开始处进行匹配(即,如果您的行不包含初始缩进),请删除

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何用sed命令替换特定字符的字符串

如何用sed替换包含斜杠的字符串?

如何用字符串“ \ |”替换空格 使用sed?

如何用sed变量替换单引号字符串?

如何用特定的字符串替换列的内容?

如何用PHP中的不同内容替换字符串?

如何用sed包含斜杠的字符串替换字符串?

如何用sed替换不包含其他字符串的字符串?

如何用linq替换字符串

如何用数字替换字符串

如何用awk / sed替换字符串的第二个实例

如何用sed替换@字符串并大写字母

如何用sed替换多行字符串的一部分

如何用sed替换特定位置由分隔符分隔的子字符串

如何用 sed 将两个字符串替换为文字?

如何用 sed 命令替换包含日期和 IP 的字符串

如何用javascript中字符串中的其他内容替换<br/>标签的多个实例?

如何用PHP中的其他内容替换任何字符串中的“ $”符号?

R字符串中的最后一个斜杠后如何用“ _”替换空格

如何用sed替换在特定字符串和n个其他字符之后的特定字符?

使用sed查找并替换特殊字符后的字符串

在特定字符串保留部分字符串以在 SQL 中替换后,如何仅替换字符串的一部分?

如何使用sed替换字符串中的后3个字符

如何用“ nothing”替换字符串中的字符

如何用整数替换字符串中的字符?

如何用字符串替换转义字符

如何用字符替换特定范围的字符串?

如何用“ \”字符搜索字符串并将其替换

如何用数字替换字符串中的特定字符