免费注册 查看新帖 |

Chinaunix

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

一个使locate更好用的脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-23 14:36 |只看该作者 |倒序浏览
#!/bin/bash
#对对象进行分类
usage() {
        cat <<EOF
Mylocate is an enhancement to locate .
Locate always find thousands of  files which always make me crazy . So I decided to write a wrapper to make locate looks more cute.
e.g.
     $ ./mylocate.sh  -d 3 -k beatles
        dirdepth=3
        keyword=beatles
        142 /home/jldev/music
     $ ./mylocate.sh  -d 4 -k beatles
        dirdepth=4
        keyword=beatles
        25 /home/jldev/music/beatles.6
        25 /home/jldev/music/beatles.3
        25 /home/jldev/music/beatles.2
        25 /home/jldev/music/beatles.1
        24 /home/jldev/music/beatles.5
        18 /home/jldev/music/beatles.4
EOF

}

locatem() {
        locate -i -r  "$keyword"|sed "s;^\(\(/[^/]*\)\{$dirdepth,$dirdepth\}\).*$;
\1;"|awk '{if ($0 in p) {p[$0]++} else {p[$0]=1}}END{ for (i in p) print p,i;}'
|sort -n -r|more
}

while getopts "d:k:" OPT
do
        case $OPT in
        d) dirdepth="$OPTARG"; echo "dirdepth=$dirdepth" ;;
        k) keyword="$OPTARG"; echo "keyword=$keyword" ;;
        esac
done

for i in dirdepth keyword ;do
        (set|grep "^$i=" 1>/dev/null) || { usage; exit 66; }
done

locatem
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP