我想一次替换文件中多次出现的文本



我想在linux 中替换文件中的文本

这种线会出现多次,也会以不同的格式出现

示例:

12345=您自己:1376*5435

96235=您自己:6723*8112

这些类型的文本将在文件中多次出现,唯一常见的是";你自己";即中间文本

我需要用下面的文本替换它

"###=你自己:;

请帮我立刻完成这项任务

如果数字的数目正是您在示例中提供的数字,则可以使用此sed命令(将filename视为文件名(:

sed -E 's/[0-9]{5} = yourself : [0-9]{4}*[0-9]{4}/### = yourself : ###/' filename

如果数字的数量会变化,只需将其更改为:

sed -E 's/[0-9].+ = yourself : [0-9].+*[0-9].+/### = yourself : ###/' filename

我使用以下输入进行测试:

12345 = yourself : 1376*5435
54353 = yourself : 3245*3221
96235 = yourself : 6723*8112

Ps:sed命令中不需要转义空格。我的坏。此外,如果要就地更改,请传递标志-i

最新更新