我有一个文本文件,其中包含一组名称如下的联系人号码。
sam=12345,john=98765,bruce=67890,jack=54321,nick=23456,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878
我想删除特定联系人缺口。我可以输入联系电话号码。通过使用“sed”,我只知道将联系号码替换为空白“sed 's/23456//g' new.txt“但名称仍然存在,如下所示,尼克的名称会导致后端出现错误。
萨姆=12345,约翰=98765,布鲁斯=67890,杰克=54321,尼克=,诺亚=67894,幻象=65432,雷神=98768,托尼=89769,上限=90878
就如上面那样卡住了。我想通过仅提供数字作为输入来与名称一起删除而不更改格式(名称=数字,名称=数字等..)。
答案1
这是做什么的search for the identifying number preceeded by a string that has neither commas nor equal signs [in other words, their name] followed by and equal and replace all with nothing
。
sed -r 's/[^,=]+=23456(,|$)//' new.txt
sam=12345,john=98765,bruce=67890,jack=54321,noah=67894,vision=65432,thor=98768,tony=89769,cap=90878