在文件中找到一个特殊字符&使用shell脚本删除特殊字符前后的特殊字符

时间:2017-08-23 08:05:12

标签: shell unix sh

文件包含电子邮件地址。要求是删除特殊字符之前/之后出现的单词&也是文件中的特殊字符。

e.g.- 文件包含电子邮件地址,例如:

abc.def*cap.com,abc.def.ghi*cap.com

文件应包含以下电子邮件地址:

abc.com,abc.def.com

@(特殊字符),@&之前的单词@之后的一个词需要删除。只需要删除特殊字符之前/之后的一个单词。

1 个答案:

答案 0 :(得分:1)

我使用perl或sed

$ echo 'abc.def@cap.com,abc.def.ghi@cap.com' | sed 's/[[:alnum:]_]\+@[[:alnum:]_]\+//g; s/\.\././g'
abc.com,abc.def.com

$ echo 'abc.def@cap.com,abc.def.ghi@cap.com' | perl -pe 's/\w+@\w+//g; s/\.\././g'
abc.com,abc.def.com