我有一个属性文件mail.properties
。该文件的内容是
ErrorEmailTo.server1=abc_1@gmail.com,bcd_1@gmail.com,efg_1@gmail.com
ErrorEmailFrom.server1=abc_1@gmail.com,bcd_1@gmail.com,efg_1@gmail.com
ErrorEmailCC.server1=abc_1@gmail.com,efg_1@gmail.com,bcd_1@gmail.com
......以及众多此类条目。
我想查找bcd_1@gmail.com
并将其删除,只要它存在。输出属性文件(mail.properties
)应如下所示:
ErrorEmailTo.server1=abc_1@gmail.com,efg_1@gmail.com
ErrorEmailFrom.server1=abc_1@gmail.com,efg_1@gmail.com
ErrorEmailCC.server1=abc_1@gmail.com,efg_1@gmail.com
答案 0 :(得分:1)
sed -e 's/bcd_1@gmail\.com//g' -e 's/,,/,/g' -e 's/,$//g' -e 's/=,/=/g' mail.properties > mail.properties_new
答案 1 :(得分:1)
您可以尝试此sed
,
sed 's/bcd_1@gmail.com,\?//g; s/,*$//' mail.properties
使用-i
选项进行就地编辑。
sed -i 's/bcd_1@gmail.com,\?//g; s/,*$//' mail.properties