免费注册 查看新帖 |

Chinaunix

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

我在一个目录下,find+gzip时,为啥总会报:already has .gz suffix -- unchanged [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-01-10 11:20 |只看该作者
仔细读了man一下:

     -depth          Always true. Causes descent of the directory
                     hierarchy  to be done so that all entries in
                     a directory are acted on before  the  direc-
                     tory  itself.   This can be useful when find
                     is used with cpio(1) to transfer files  that
                     are  contained  in directories without write
                     permission.

我看该命令的意思是先处理目录下的东西,然后再处理目录本身

可是,这和我的那个不一样哦,我那个目录下没有子目录,就是那些le.打头的文件

tim解释下呗

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
12 [报告]
发表于 2011-01-10 11:22 |只看该作者
再加个 ! -name '*.gz'不就行了,想那么多干嘛?

论坛徽章:
0
13 [报告]
发表于 2011-01-10 11:24 |只看该作者
再加个 ! -name '*.gz'不就行了,想那么多干嘛?
waker 发表于 2011-01-10 11:22



呵呵,你这个办法我想到了
可是,要把理弄清楚嘛,呵呵
    那是不是我二楼说的原因呢?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
14 [报告]
发表于 2011-01-10 11:35 |只看该作者
呵呵,你这个办法我想到了
可是,要把理弄清楚嘛,呵呵
    那是不是我二楼说的原因呢?
welcome008 发表于 2011-01-10 11:24



    你用脚本测试一下呢?
  我在想,莫非是你所用C库里的BUG?这个应该不会吧

论坛徽章:
0
15 [报告]
发表于 2011-01-10 11:44 |只看该作者
你用脚本测试一下呢?
  我在想,莫非是你所用C库里的BUG?这个应该不会吧
cjaizss 发表于 2011-01-10 11:35



    脚本测试?

这个环境就是很简单的

一个目录下很多le.YYYYMMDDHH24MISS文件

我想对几天前的压缩

命令就是那一条了,怎么拆成脚本呢?

我觉得不应该是我这里有问题,你们也可以测试下

我一直怀疑find不是一下子find到所有文件,然后再exec,而是在exec中,会继续find,呵呵

论坛徽章:
0
16 [报告]
发表于 2011-01-10 11:45 |只看该作者
我要找时间好好测试一下

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
17 [报告]
发表于 2011-01-10 12:31 |只看该作者
我要找时间好好测试一下
welcome008 发表于 2011-01-10 11:45



    你用这个脚本测一下呢?

  1. #!/bin/bash
  2. if [ $# = 1 ];then
  3. for((i=1;i<=100;i++));do echo test >$1/$i;done
  4. exit 0
  5. fi
  6. cd /tmp
  7. mkdir -p test_dir_12345/{a,b,c}/{a,b,c}/{a,b,c}/{a,b,c}/
  8. find /tmp/test_dir_12345/ -type d -exec $0 {} \;
  9. cd /tmp/test_dir_12345/
  10. find .  -type f -exec gzip {} \;

复制代码

论坛徽章:
0
18 [报告]
发表于 2011-01-10 14:22 |只看该作者
你用这个脚本测一下呢?
cjaizss 发表于 2011-01-10 12:31



    在当前目录下建一个ppp目录

然后执行a.sh ppp
不报错的
/tmp下没看到生成的东西


我觉得你这个测试和我的那个关系不大

我那个命令,在那个目录下没有其他子目录的

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
19 [报告]
发表于 2011-01-10 14:49 |只看该作者
在当前目录下建一个ppp目录

然后执行a.sh ppp
不报错的
/tmp下没看到生成的东西


我觉得 ...
welcome008 发表于 2011-01-10 14:22



    那偶就无法解释了,呵呵,不用管它了吧.就像waker说的那样加个限定搞定它就行了

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
20 [报告]
发表于 2011-01-10 17:01 |只看该作者
脚本测试?

这个环境就是很简单的

一个目录下很多le.YYYYMMDDHH24MISS文件

我想对几天前 ...
welcome008 发表于 2011-01-10 11:44

一个进程是不能同时加载不同的程序的,显然find要产生子进程去加载gzip,两个进程同时运行时谁先获得资源是随机的吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP