免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1244 | 回复: 3
打印 上一主题 下一主题

初学SHELL有个小问题请各位帮忙看下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-06 21:18 |只看该作者 |倒序浏览
我用的是Linux 企业版4
用SSH执行命令df -mT显示的是
[root@localhost snmp]# df -mT
Filesystem    Type   1M-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
              ext3       66776      4382     59003   7% /
/dev/sda1     ext3          99        13        82  13% /boot
none         tmpfs        1522         0      1522   0% /dev/shm
我想只显示成下面这种开式:
66776      4382     59003   7% /
99        13        82  13% /boot
但是我用命令:[root@localhost snmp]# df -mT | grep -vE "^Filesystem|shm"| awk '{ print $2","$3","$4","$5","$6}'
,,,,
66776,4382,59003,7%,/
ext3,99,13,82,13%
这和我想要得到的数据差了一位,而且第一行还都是空,不知道这个命令应该如何写,如果写成脚本要怎么弄呢。谢谢各位帮忙看看吧。小弟初学!!

论坛徽章:
0
2 [报告]
发表于 2007-02-06 22:33 |只看该作者
你要显示的资料是 3, 4, 5, 6, 7
你在 awk 列出 2, 3, 4, 5, 6 当然差了一栏
grep -v 也只要过滤 ^Filesystem 就可以了


  1. df -mT | grep -v '^Filesystem' | awk '{ print $3, $4, $5, $6, $7}'
复制代码


要写成脚本就直接存成档案就行了呀


  1. #!/bin/bash
  2. df -mT | grep -v '^Filesystem' | awk '{ print $3, $4, $5, $6, $7}'
复制代码

[ 本帖最后由 vantien 于 2007-2-6 22:36 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-02-08 19:57 |只看该作者
谢谢啊,不过不对啊。第一行数据是空的,第二行数据少了一行我执行了命令:df -mT | grep -v '^Filesystem' | awk '{ print $3, $4, $5, $6, $7}'
   
4382 59003 7% /
99 13 82 13% /boot
1522 0 1522 0% /dev/shm

论坛徽章:
0
4 [报告]
发表于 2007-02-09 12:54 |只看该作者
应该是你系统有用 lvm 或 raid 所以你 / 目录的那个格式跟一般的有不一样
不然你就用

  1. df -mT | grep -v '^Filesystem' | awk '{if( NF > 5) printf( "%8s %8s %8s %8s %-8s\n", $(NF-4), $(NF-3), $(NF-2), $(NF-1), $NF);}'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP