我正在寻找如何使用egrep
或grep
完成我的任务。
我想显示每个接口的最后一行。我尝试使用grep
and egrep
with 选项,但结果并没有达到我的预期。
#ifconfig -a
en0: flags=1e080863,480<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),CHAIN>
inet 10.x.x.x netmask 0xffffff80 broadcast 10.x.x.x
tcp_sendspace 16384 tcp_recvspace 16384 rfc1323 0
en1: flags=1e080863,480<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),CHAIN>
inet 10.x.x.x netmask 0xfffffff0 broadcast 10.x.x.x
tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
en2: flags=1e080863,480<UP,BROADCAST,10.x.x.xmask 0xffffff80 broadcast 10.x.x.x
tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
lo0: flags=e08084b,c0<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,LARGESEND,CHAIN>
inet 127.0.0.1 netmask 0xff000000 broadcast 10.x.x.x
inet6 ::1%1/0
tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1
预期输出:
en0: tcp_sendspace 16384 tcp_recvspace 16384 rfc1323 0
en1: tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
en2: tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
lo0: tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1
更新: 在 AIX 7 服务器上测试并根据 AIX 要求更新命令。
来自grep的手册:
所以工具是查找和打印匹配某些模式的行。但是您的任务不是查找和打印某些行,而是自定义输出。
一种可能的解决方案是使用grep排除不需要的行,然后使用sed将输出的所需部分格式化为请求的方式:
输出:
您也可以使用 awk 代替(如评论中所建议)或其他工具或工具组合。
与
awk
: