如何删除以单个连字符开头或结尾或两者的域?

如何删除以单个连字符开头或结尾或两者的域?

如何删除带有单个连字符的无效域(开头或结尾或两者)?

要删除的示例域:

.-domain--.com
.-domain-.com
.domain-.com
.--domain.com
.subdomain.-domain.com

失败的尝试:

grep -vP '-\.'
sed 's/^\.-//'

我向那些已经发表评论的人道歉。我不得不重新表述这个问题,因为它是不正确的。谢谢

答案1

任何:

grep -Ev '(^|\.)-|-($|\.)'
grep -Ev '^-|-$|\.-|-\.'

或者,使用 GNU grep:

grep -Pv '(^|\.)-|-($|\.)'
grep -Pv '^-|-$|\.-|-\.'

相关内容