微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在UNIX上无法从命令文本输出文件中删除空格或空白

如何解决在UNIX上无法从命令文本输出文件中删除空格或空白

AIX上的命令'(sleep 4 ; echo q) | topas -P |tee /tmp/top'在命令文本文件生成输出,但我无法从中删除空格。我试过,sed / perl和awk命令只打印包含字符的行,但是没有任何帮助。我是否需要将此文件转换为ASCII文本格式才能使用sed / per / grep或awk删除空行?

$ file /tmp/top
/tmp/top: commands text

$ head -n33 /tmp/top






                                    DATA  TEXT  PAGE                  PGFAULTS
USER          PID     PPID PRI  NI   RES   RES SPACE    TIME  cpu%   I/O   OTH COMMAND
root      9044256 20447712  60  20 2.43M  304K 2.43M    0:00   2.1     0   253 topas
root     14942646  8913178  60  20 72.0M 37.8M 72.0M    0:42   0.2     0     1 TaniumCl
root     20447712 21889434  60  20  148K  312K  508K    0:00   0.2     0     0 ksh
root     21955056 20447712  60  20  216K 36.0K  216K    0:00   0.1     0     3 sed
root     24838602 20447712  60  20  120K 8.00K  120K    0:00   0.1     0     1 tee
root      9830690 10355194  60  20  120K 4.00K  120K    0:00   0.1     0     0 sleep
root     12255642 13893896  60  41 57.5M 39.8M 57.5M   33:42   0.1     0     0 mmfsd
root     10355194 20447712  60  20  148K  312K  508K    0:00   0.1     0     0 ksh
root      9109790  4063622  39  20 12.9M 3.68M 12.9M    5:19   0.1     0     0 rmcd
root     13697394  4063622  60  20 8.27M 55.9M 8.27M   17:18   0.1     0     0 backup_a
root     20906328        1  60  20 1.81M     0 1.81M    3:15   0.0     0     0 nfsd
root      4260244        1  60  20  620K 88.0K  620K   41:23   0.0     0     0 getty
root      1573172        0  37  41  960K     0  960K   15:17   0.0     0     0 gil
nagios    9240876  4063622  60  20 23.7M  736K 23.7M    9:43   0.0     0     0 ncpa_pas
root      4391332        1  60  20 12.5M  252K 12.5M    4:43   0.0     0     0 secldapc
a_RTHOMA  8323456 12059082  60  20  636K 3.06M 1016K    0:00   0.0     0     0 sshd
root      8388902  4063622  60  20 1.76M 1.05M 1.76M    7:03   0.0     0     0 clcomd
root      3539312        1  60  20  448K     0  448K    5:07   0.0     0     0 lock_rcv
root      3670388        1  60  20  448K     0  448K    4:18   0.0     0     0 sec_rcv
root      5767652  4063622  48   8  392K  324K  392K    2:49   0.0     0     0 xntpd
root      6816242        1  60  20 1.19M     0 1.19M    1:05   0.0     0     0 rpc.lock
root       459026        0  16  41  640K     0  640K    2:19   0.0     0     0 reaffin
root     23921008        1  60  20 1.00M     0 1.00M    4:36   0.0     0     0 n4cb
lpar2rrd 23200112 25625020  64  22  868K  120K  868K    0:00   0.0     0     0 vmstat
root      7143896        1  40  41  448K     0  448K    0:48   0.0     0     0 nfsWatch
root      6160840        1  60  20  448K     0  448K    0:09   0.0     0     0 j2gt

解决方法

看起来您的输出文件包含一些ASCII字符,因此最好只打印以字母开头的行:

awk '/^[a-zA-Z]/' Input_file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。