免费注册 查看新帖 |

Chinaunix

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

find如何在一条命令里使用两个-size参数. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-30 20:06 |只看该作者 |倒序浏览
大虾们好:
   
     问一个很弱的问题,比较要查找一个小于13K或大于16K的文件,如果在一条find中实现啊.

我尝试了了N久,不知道如何将两上size 在一条命令中使用,

find . -size -13k || -size +16K

find . \( -size -13k || -size +16K \)

这两种写法都不对,求正确写法.....

论坛徽章:
0
2 [报告]
发表于 2009-08-30 22:12 |只看该作者
这个挺有意思的,
中间试试用-and 代替 ||

论坛徽章:
0
3 [报告]
发表于 2009-08-30 22:26 |只看该作者
这里应该用-or吧?
find . -size -13k -or -size +16k

k是小写的

论坛徽章:
0
4 [报告]
发表于 2009-08-30 22:40 |只看该作者
感觉不太对阿
下面是我的例子:
[majian@foo pdf]$ll -h
total 80K
-rw-rw-r-- 1 majian majian    0 Aug  8 20:08 test.aux
-rw-rw-r-- 1 majian majian  364 Aug  8 22:45 test_chinese.aux
-rw-rw-r-- 1 majian majian 9.9K Aug  8 22:45 test_chinese.log
-rw-rw-r-- 1 majian majian  27K Aug  8 22:45 test_chinese.pdf
-rw-rw-r-- 1 majian majian  519 Aug  8 22:13 test_chinese.tex
-rw-rw-r-- 1 majian majian    0 Aug  8 20:08 test.log
-rw-rw-r-- 1 majian majian  25K Aug  8 20:08 test.pdf
-rw-rw-r-- 1 majian majian  264 Aug  8 20:09 test.tex

我想找大于10k小于100k,我用了
[majian@foo pdf]$find . -size -100k  -or -size +10k
但结果怎么是:
.
./test_chinese.pdf
./test_chinese.aux
./test_chinese.tex
./test_chinese.log
./test.log
./test.pdf
./test.tex
./test.aux
You have new mail in /var/spool/mail/root

论坛徽章:
0
5 [报告]
发表于 2009-08-31 01:59 |只看该作者
用-and。

不过-size的统计文件大小的方式很讨厌.. 让人烦躁


  1. [root@RHEL4 report]# ls -l
  2. total 40
  3. -rw-r--r--  1 root root 4526 Aug 29 15:42 job2.data
  4. -rw-r--r--  1 root root 4239 Aug 29 12:00 job.data
  5. -rw-r--r--  1 root root  454 Aug 29 14:12 job.out
  6. -rw-r--r--  1 root root 2543 Aug 29 15:59 mail2.data
  7. -rwxr-xr-x  1 root root 1894 Aug 29 18:51 mailreport.sh
  8. -rwxr-xr-x  1 root root 1920 Aug 29 15:52 report.sh
  9. -rw-r--r--  1 root root 4014 Aug 29 16:10 site2.data
  10. -rwxr-xr-x  1 root root 2004 Aug 29 16:26 sitereport.sh
  11. [root@RHEL4 report]# find ./ -size +2048c -and -size -4096c -printf "%s\t%P\n"
  12. 4014    site2.data
  13. 2543    mail2.data
  14. [root@RHEL4 report]# find ./ -size +2k -and -size -4k -printf "%s\t%P\n"
  15. 2543    mail2.data
  16. [root@RHEL4 report]# find ./ -size +2k -and -size -5k -printf "%s\t%P\n"
  17. 4014    site2.data
  18. 2543    mail2.data
  19. [root@RHEL4 report]# find ./ -size +2k -and -size -5120c -printf "%s\t%P\n"
  20. 4239    job.data
  21. 4526    job2.data
  22. 4014    site2.data
  23. 2543    mail2.data
  24. [root@RHEL4 report]#

复制代码

论坛徽章:
0
6 [报告]
发表于 2009-09-01 20:35 |只看该作者
实验成功,
find . -type f \( -size -13k -o -size +16k \)

论坛徽章:
0
7 [报告]
发表于 2009-09-02 09:46 |只看该作者

回复 #5 Celinde 的帖子

小于13K或大于16K
还用and吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP