免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: feeling
打印 上一主题 下一主题

Shell的魅力  关闭 [复制链接]

Greenergy 该用户已被删除
31 [报告]
发表于 2003-10-03 14:14 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
32 [报告]
发表于 2003-10-27 12:05 |只看该作者

Shell的魅力

高手就是高手!

babyyellow

论坛徽章:
0
33 [报告]
发表于 2003-12-23 10:29 |只看该作者

Shell的魅力

find $dir -type d -print | du
这样用管道是无效的,因为du不能从stdio读取输入。

find $dir -type d -print | xargs du
也是不行的,因为du本身就统计子目录,这样会重复输出。

还是直接用du正确:
du $dir

du可以用-k参数指定单位为kB,这样就不用除以2了。
另外sed的第一个-e中的源串有些罗嗦了,可以简化一下。
我改进了这个脚本,而且可以支持du参数选项:

#!/bin/sh
# dulist.sh

dir=.
if [ $# -gt 0 ]; then
  dir=$1
  shift
fi
(cd $dir;pwd)
du -k $* $dir | awk '{print $2, "== ("$1" kB)"}' | sort -f | sed -e "s,\([^/]*\) ==,|--\1," -e "s,[^/]*/,| ,g"

用法举例:
dulist.sh #统计当前目录
dulist.sh try #统计try目录
dulist.sh try -a #统计try目录,包括其中的文件
dulist.sh try -ao #统计try目录,父目录size不包括子目录size
dulist.sh link2try #只统计link本身
dulist.sh link2try -L #统计link所指向的try目录

论坛徽章:
0
34 [报告]
发表于 2004-01-14 15:25 |只看该作者

Shell的魅力

原帖由 "bluer" 发表:
,g"

用法举例:
dulist.sh #统计当前目录
dulist.sh try #统计try目录
dulist.sh try -a #统计try目录,包括其中的文件
dulist.sh try -ao #统计try目录,父目录size不包括子目录size
dulist.sh link2try #..........

8错     du -h也ok的

论坛徽章:
0
35 [报告]
发表于 2004-04-24 20:24 |只看该作者

Shell的魅力

简直在享受
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP