ip address show
的ipv4ip address show
可简写为ip address
可简写为ip a
[z@1235eth5 root]$ ip a | grep 'inet\b'
inet 127.0.0.1/8 scope host lo
inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
[z@1235eth5 root]$ ip a | sed '/inet\b/p' -n
inet 127.0.0.1/8 scope host lo
inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
[z@1235eth5 root]$ ip a | awk '/inet\>/{print}'
inet 127.0.0.1/8 scope host lo
inet 10.12.35.5/8 brd 10.255.255.255 scope global dynamic noprefixroute enp7s0
ip a | grep 'inet\b'
ip a | sed '/inet\b/p' -n
ip a | awk '/inet\>/{print}'
也可不写{}, 当没有大括号{}时, 相当于有{print $0}={print}
ip a | awk '/inet\>/{print $0}'
ip a | awk '/inet\>/{print}'
ip a | awk '/inet\>/'
测试时, \b
在awk中不起作用, 使用了\>
代替
在正则中,
\b
表示单词边界\<
表示单词开始边界\>
表示单词结束边界awk分gawk,mawk等
在Ubuntu2204Desktop版中, awk \b
和 \>
都不起作用, 原因是使用了 mawk . Ubuntu2204Server默认用的是 gawk , 也能用 mawk
Fedora39的awk是gawk
ip a | sed '/inet\b/p' -n
也可写成
ip a | sed -n '/inet\b/p'
-n
是不输出过滤前的内容, p
是输出过滤匹配的行 ;
-n
, 那就什么都看不到p
, 会发现所有内容都输出, 且匹配的内容出现两遍