使用bash脚本删除文件中的字符串

时间:2018-05-18 06:17:04

标签: bash unix

我们有一个文件,其中包含一行中未格式化的xml内容

<sample:text>Report</sample:text><sample:user name="11111111" guid="163g673"/><sample:user name="22222222" guid="aknen1763y82bjkj18"/><sample:user name="33333333" guid="q3k4nn5k2nk53n6"/><sample:user name="44444444" guid="34bkj3b5kjbkq"/><sample:user name="55555555" guid="k4n5k34nlk6n711kjnk5253"/><sample:user name="66666666" guid="1n4k14nknl1n4lb1"/>

如果我们找到一个特定的字符串,假设&#34; 22222222&#34;,我想删除围绕匹配字符串的整个字符串。在我们的例子中,应删除22222222左右的整个部分,即<sample:user name="22222222" guid="aknen1763y82bjkj18"/>,并且必须保存文件。

我们怎么做?请帮忙

1 个答案:

答案 0 :(得分:2)

您可以使用sed实用程序通过调用它来执行此操作:

sed -i file -e 's/<[^<]*"22222222"[^>]*>//'