如何从一行中解析主机名

如何从一行中解析主机名

我有一句话:

检查 www.raja.server.local.com 中的空间,/usr 中已满 40%

我只想解析一下www.raja.server.local.com从上面的线。

注意:www.raja.server.local.com 可以是该行中的任何位置。

答案1

如果你的问题可以改写为“打印所有以”结尾的空格分隔字段.local.com,那么以下应该可以做到这一点(使用 GNU grep):

grep -Eo '[^ ]+\.local\.com\b'

答案2

脆弱,但这是一个答案......

awk '/\.local\.com/ { x=gensub(/.* ([^\ ]+\.local\.com).*/,"\\1","1"); print x }'

更好的解决方案是使用反向引用。

相关内容