首页 > 解决方案 > 运行 smem 命令时,如何让 bash 打印没有大小为零的字段的输出?

问题描述

这是我在 Redhat/CentOS Linux 系统上运行的“smem”命令。我希望在没有大小为零的字段的情况下打印输出,但是我希望标题列。

 smem -kt -c "pid user command swap"
  PID User     Command                         Swap
 7894 root     /sbin/agetty --noclear tty1        0
 9666 root     ./nimbus /opt/nimsoft              0
 7850 root     /sbin/auditd                  236.0K
 7885 root     /usr/sbin/irqbalance --fore        0
11205 root     nimbus(hdb)                        0
10701 root     nimbus(spooler)                    0
 8446 trapsanalyzer1 /opt/traps/analyzerd/analyz        0
50316 apache   /usr/sbin/httpd -DFOREGROUN        0
50310 apache   /usr/sbin/httpd -DFOREGROUN        0
 3971 root     /usr/sbin/lvmetad -f           36.0K
63988 root     su -                               0
 7905 ntp      /usr/sbin/ntpd -u ntp:ntp -     4.0K
 7876 dbus     /usr/bin/dbus-daemon --syst    44.0K
 9672 root     nimbus(controller)                 0
 7888 root     /usr/lib/systemd/systemd-lo        0
63990 root     -bash                              0
59978 postfix  pickup -l -t unix -u               0
 3977 root     /usr/lib/systemd/systemd-ud   736.0K
 9016 postfix  qmgr -l -t unix -u                 0
50303 root     /usr/sbin/httpd -DFOREGROUN        0
 3941 root     /usr/lib/systemd/systemd-jo    52.0K
 8199 root     //usr/lib/vmware-caf/pme/bi        0
 8598 daemon   /opt/quest/sbin/.vasd -p /v        0
 8131 root     /usr/sbin/vmtoolsd                 0
 7881 root     /usr/sbin/NetworkManager --     8.0K
 8364 root     /opt/puppetlabs/puppet/bin/        0
 8616 daemon   /opt/quest/sbin/.vasd -p /v        0
23290 root     /usr/sbin/rsyslogd -n           3.8M
64091 root     python /bin/smem -kt -c pid        0
 7887 polkitd  /usr/lib/polkit-1/polkitd -        0
 8363 root     /usr/bin/python2 -Es /usr/s        0
53606 root     /usr/share/metricbeat/bin/m        0
24631 nagios   /usr/local/ncpa/ncpa_passiv        0
24582 nagios   /usr/local/ncpa/ncpa_listen        0
 7886 root     /opt/traps/bin/authorized      76.0K
 7872 root     /opt/traps/bin/pmd             12.0K
 8374 root     /opt/puppetlabs/puppet/bin/        0
 7883 root     /opt/traps/bin/trapsd          64.0K
----------------------------------------------------
   54 10                                       5.1M

标签: bashawkredhat

解决方案


像这样?:

$ awk '$NF!=0' file
  PID User     Command                         Swap
 7850 root     /sbin/auditd                  236.0K
...
 7883 root     /opt/traps/bin/trapsd          64.0K
----------------------------------------------------
   54 10                                       5.1M

但不是使用awk ... file您可能想要的表单smem ... | awk '$NF!=0'


推荐阅读