仅解析resolvectl的IP地址

问题描述

我只想剪切IP地址。我尝试了cut -d':' -f1,但是使用了其他我不想要的单词。

resolvectl query remote.geo.com

但是我有:

remote.geo.com: X.X.X.X           -- link: enp0s31f6

我只想要

X.X.X.X

我可以选择第一行,但是还有其他字眼。

解决方法

使用awk

remote.geo.com: X.X.X.X -- link: enp0s31f6|awk '{print $2}'
如果分隔符为cut并且其中有多个' ',则

as spaces将失败。

,

您可以JdbcTemplate在空格旁输入第二个字段:

cut
,
resolvectl query remote.geo.com|grep -oE '[[:space:]][[0-9.]+[[:space:]]'|tr -d '[:space:]'

正则表达式的两侧都以空格为界,以避免在输出的其他字段(例如,在链接信息中)拾取数字字符串,然后tr会将其删除。 / p>

,

像大多数现代命令一样,resolvectl带有一个标志来关闭修饰,这使得解析输出变得更加容易。

resolvectl query --legend=false remote.geo.com | awk '{print $2}'

如果您不习惯使用resolvectl,则可以从dighost(的某些版本)获得机器可读的输出:

dig +short remote.geo.com

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...