【发布时间】:2022-07-11 23:08:04
【问题描述】:
我是使用 bash 的新手。现在我要读取一个值,但是控制台的输出太长了,我只想把它缩短到具体的值。
netstat -m
24270/3315/27585 mbufs in use (current/cache/total)
4142/1724/5866/1000000 mbuf clusters in use (current/cache/total/max)
40/1478 mbuf+clusters out of packet secondary zone in use (current/cache)
0/145/145/524288 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/524288 9k jumbo clusters in use (current/cache/total/max)
0/0/0/83968 16k jumbo clusters in use (current/cache/total/max)
...
现在我想在第二行找到 5866 并将其包装在一个变量中。 目前我的脚本如下所示:
mbuf_stat=$(netstat -m)
mbuf=$mbuf_stat
mbuf=${mbuf#*)}
mbuf=${mbuf#*/}
mbuf=${mbuf#*/}
mbuf=${mbuf%%/*}
echo "$mbuf"
有没有更简单的方法来做到这一点?这对我来说似乎很复杂。不幸的是,我还没有找到更简单的方法。
【问题讨论】:
标签: bash