这是ip r
用 重新格式化时的输出awk
。一切正常,只是 的位置:
由于接口名称不同而比较混乱。
wolf@linux:~$ ip r | awk '{print $3 " : " $1}'
virbr0 : 10.10.0.0/16
wlo1 : 10.10.10.0/24
vboxnet0 : 10.10.11.0/24
virbr0 : 10.10.12.0/24
wolf@linux:~$
我以为通过使用\t
这个问题就会消失。
对于较短的 NIC 名称,它确实可以做到,但是对于较长的名称,例如vboxnet0
wolf@linux:~$ ip r | awk '{print $3 "\t : " $1}'
virbr0 : 10.10.0.0/16
wlo1 : 10.10.10.0/24
vboxnet0 : 10.10.11.0/24
virbr0 : 10.10.12.0/24
wolf@linux:~$
重新格式化它的最佳方法是什么?
预期输出
wolf@linux:~$ ip r | awk '{print $3 "\t : " $1}'
virbr0 : 10.10.0.0/16
wlo1 : 10.10.10.0/24
vboxnet0 : 10.10.11.0/24
virbr0 : 10.10.12.0/24
wolf@linux:~$
答案1
这更像是column
:
ip r | awk '{print $3, ":", $1}' | column -t
应用于column -t
您的输入:
% cat > foo <EOF
virbr0 : 10.10.0.0/16
wlo1 : 10.10.10.0/24
vboxnet0 : 10.10.11.0/24
virbr0 : 10.10.12.0/24
EOF
% column -t < foo
virbr0 : 10.10.0.0/16
wlo1 : 10.10.10.0/24
vboxnet0 : 10.10.11.0/24
virbr0 : 10.10.12.0/24