首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux中仅从ip addr检索IPV4

如何在Linux中仅从ip addr检索IPV4
EN

Stack Overflow用户
提问于 2021-07-11 16:44:00
回答 4查看 208关注 0票数 0

我正在尝试将tun0接口的tun0传递到脚本中。

代码语言:javascript
复制
./start.sh `ip addr | grep tun0 | grep inet`

我的问题是,我想不出如何进一步分离这一点,只得到10.10.14.252

代码语言:javascript
复制
inet 10.10.14.252/23 scope global tun0

任何可能使用sed只检索10.10.14.252的帮助都是值得赞赏的。IPV4是动态的,脚本可以在任何环境上执行,并且不一定总是以10.10开头。

代码语言:javascript
复制
ip addr | grep tun0|grep inet|tr ' ' "\n"|grep 10.|tr '/' "\n"|grep 10

这行得通,但很长,但很管用。但是我能保证IPV4总是从10开始吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-07-11 17:44:14

我建议:

代码语言:javascript
复制
ip -o -4 addr list tun0 | awk -F ' *|/' '{print $4}'
票数 3
EN

Stack Overflow用户

发布于 2021-07-11 17:40:11

jqip -json的结合

代码语言:javascript
复制
$ ip -j -4 -o addr | jq -r '.[] | select(.addr_info[].dev=="tun0") | .addr_info[].local'
票数 3
EN

Stack Overflow用户

发布于 2021-07-11 16:58:02

试试奥克。

代码语言:javascript
复制
ip addr |
awk '/inet/ && /tun0/ {
  ip = $2; sub(/\/.*/, "", ip); print ip }'

通常,如果您有一个grep进入sed或Awk的管道,则get rid of the grep.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68338198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档