我想在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
。