Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 仅解析resolvectl中的IP地址_Linux_Bash_Cut - Fatal编程技术网

Linux 仅解析resolvectl中的IP地址

Linux 仅解析resolvectl中的IP地址,linux,bash,cut,Linux,Bash,Cut,我只想剪切IP地址。我尝试了剪切-d':'-f1,但这需要其他我不想要的单词 resolvectl query remote.geo.com 但我有: remote.geo.com: X.X.X.X -- link: enp0s31f6 我只要 X.X.X.X 我可以选择第一行,但还有其他词。您可以按空格剪切,然后选择第二行: resolvectl query remote.geo.com | cut -d' ' -f2 您可以按空格进行剪切,然后选择第二个字段: r

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

resolvectl query remote.geo.com
但我有:

remote.geo.com: X.X.X.X           -- link: enp0s31f6
我只要

X.X.X.X
我可以选择第一行,但还有其他词。

您可以按空格剪切,然后选择第二行:

resolvectl query remote.geo.com | cut -d' ' -f2
您可以按空格进行剪切,然后选择第二个字段:

resolvectl query remote.geo.com | cut -d' ' -f2
使用awk:

如果分隔符为“”,且其中有多个空格,则as cut将失败。

使用awk:

resolvectl query remote.geo.com|grep -oE '[[:space:]][[0-9.]+[[:space:]]'|tr -d '[:space:]'
如果分隔符为“”,且其中有多个空格,则as cut将失败

resolvectl query remote.geo.com|grep -oE '[[:space:]][[0-9.]+[[:space:]]'|tr -d '[:space:]'
regexp两边都有一个空格,以避免在输出的其他字段(如链接信息)中拾取数字串,然后tr将其删除


regexp两边都有一个空格,以避免在输出的其他字段(如链接信息)中拾取数字串,然后tr将其删除。

与大多数现代命令一样,有一个关闭装饰的标志,这使解析其输出更加容易

resolvectl查询-legend=false remote.geo.com | awk'{print$2}' 如果您不热衷于使用resolvectl,则可以从dig或主机的某些版本获得机器可读的输出:

dig+short remote.geo.com
与大多数现代命令一样,它有一个关闭装饰的标志,这使解析其输出变得更加容易

resolvectl查询-legend=false remote.geo.com | awk'{print$2}' 如果您不热衷于使用resolvectl,则可以从dig或主机的某些版本获得机器可读的输出:

dig+short remote.geo.com