免费注册 查看新帖 |

Chinaunix

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

[文本处理] shell控制目录下的子目录个数 [复制链接]

论坛徽章:
8
戌狗
日期:2013-10-12 11:37:19双子座
日期:2014-05-06 14:40:39巨蟹座
日期:2014-06-14 09:22:18戌狗
日期:2014-09-18 16:05:44巨蟹座
日期:2014-12-27 16:37:26酉鸡
日期:2015-01-20 18:39:022015年亚洲杯之沙特阿拉伯
日期:2015-04-20 22:38:242015亚冠之萨济拖拉机
日期:2015-06-19 16:01:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-20 15:29 |只看该作者 |倒序浏览
shell控制目录下的子目录个数

/data/temp 目录下的目录个数的控制,如果超过这个数值,比如控制目录下的子目录在30个,删除创建创建时间最久远的目录~~~

论坛徽章:
0
2 [报告]
发表于 2014-06-20 16:10 |只看该作者
@prcardin

我做的实验假设目录是/tmp/temp
  1. dir_count=`find /tmp/temp/ -maxdepth 1 -type d | wc -l`
  2. del_dir_count=$((${dir_count}-31))

  3. if [ ${dir_count} -gt 31 ];then
  4.         ls -hlt | awk '$0~/^d/{print $NF}' | tail -${del_dir_count} | xargs rm -rf
  5. fi
复制代码

论坛徽章:
8
戌狗
日期:2013-10-12 11:37:19双子座
日期:2014-05-06 14:40:39巨蟹座
日期:2014-06-14 09:22:18戌狗
日期:2014-09-18 16:05:44巨蟹座
日期:2014-12-27 16:37:26酉鸡
日期:2015-01-20 18:39:022015年亚洲杯之沙特阿拉伯
日期:2015-04-20 22:38:242015亚冠之萨济拖拉机
日期:2015-06-19 16:01:03
3 [报告]
发表于 2014-06-20 16:12 |只看该作者
if判断那个模块做的很好,谢谢哈
目测是可以的

回复 2# todayhero


   

论坛徽章:
0
4 [报告]
发表于 2014-06-20 16:14 |只看该作者
until [ "CU" = "chinaunix" ]
do
    until [ `ls -F /data/temp | grep -c '/$'` -gt 30 ]
    do
        sleep x
    done
    rm xxx
done

额,创建时间最久远不知道怎么判断。

论坛徽章:
0
5 [报告]
发表于 2014-06-20 16:16 |只看该作者
回复 2# todayhero

厉害,ls我还是没用熟练,很多参数都不知道。

论坛徽章:
8
戌狗
日期:2013-10-12 11:37:19双子座
日期:2014-05-06 14:40:39巨蟹座
日期:2014-06-14 09:22:18戌狗
日期:2014-09-18 16:05:44巨蟹座
日期:2014-12-27 16:37:26酉鸡
日期:2015-01-20 18:39:022015年亚洲杯之沙特阿拉伯
日期:2015-04-20 22:38:242015亚冠之萨济拖拉机
日期:2015-06-19 16:01:03
6 [报告]
发表于 2014-06-20 16:18 |只看该作者
文件创建时间的比较。倒数第30个以前的都删除
回复 4# 用户名注册后不能更改


   

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
7 [报告]
发表于 2014-06-20 16:19 |只看该作者
本帖最后由 关阴月飞 于 2014-06-20 16:26 编辑

回复 1# prcardin


    不考虑子目录中的子目录,另外创建时间是没有保存的,这里用ls 的-t参数排序:
  1. ls /data/temp/*/ -dt |awk 'NR>30' |xargs -i rm  -rf /data/temp/{}/  
复制代码

论坛徽章:
8
戌狗
日期:2013-10-12 11:37:19双子座
日期:2014-05-06 14:40:39巨蟹座
日期:2014-06-14 09:22:18戌狗
日期:2014-09-18 16:05:44巨蟹座
日期:2014-12-27 16:37:26酉鸡
日期:2015-01-20 18:39:022015年亚洲杯之沙特阿拉伯
日期:2015-04-20 22:38:242015亚冠之萨济拖拉机
日期:2015-06-19 16:01:03
8 [报告]
发表于 2014-06-20 16:21 |只看该作者
PF大婶,好简单的说。ls的参数真多     awk里的NR这用的新颖

回复 7# 关阴月飞


   

论坛徽章:
0
9 [报告]
发表于 2014-06-20 16:52 |只看该作者
回复 8# prcardin

我一直觉得,越是基础的命令,越应该研究深入,因为日常中用到的机会最大。

但是……
等世界杯之后再说吧。
等XXX之后再说吧。
等……

结果我还是不会ls。

论坛徽章:
8
戌狗
日期:2013-10-12 11:37:19双子座
日期:2014-05-06 14:40:39巨蟹座
日期:2014-06-14 09:22:18戌狗
日期:2014-09-18 16:05:44巨蟹座
日期:2014-12-27 16:37:26酉鸡
日期:2015-01-20 18:39:022015年亚洲杯之沙特阿拉伯
日期:2015-04-20 22:38:242015亚冠之萨济拖拉机
日期:2015-06-19 16:01:03
10 [报告]
发表于 2014-06-20 16:55 |只看该作者
ls /data/temp/*/ -dt |awk 'NR>30' |xargs -i rm  -rf /data/temp/{}/
-i加上去后,不能删除。去掉-i才能删除。pf大婶,怎么破

回复 7# 关阴月飞


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP