Linux 仅解析resolvectl中的IP地址
我只想剪切IP地址。我尝试了剪切-d':'-f1,但这需要其他我不想要的单词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
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