LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1627|回复: 7

请问如何让 find 不查找 隐含目录 和隐含文件[find命令应用]

[复制链接]
发表于 2005-8-16 04:01:00 | 显示全部楼层 |阅读模式
就是不要让 find 进去 .开头的目录  不要查找 .开头的文件

谢谢
发表于 2005-8-16 12:30:25 | 显示全部楼层
Post by jhuangjiahua
就是不要让 find 进去 .开头的目录  不要查找 .开头的文件

谢谢

  1. find path -maxdepth 1 -type d \! -name ".*"
复制代码

找出目录。

  1. find path -maxdepth 1 -type f \! -name ".*"
复制代码

找出文件。然后再在筛选出来的目录中继续。一行find命令搞不定这个要求。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-16 14:07:12 | 显示全部楼层
多谢

先凑合用
find  PATH/*  -type f \! -name '.*'

好歹可以不进入当前目录的隐含文件...
回复 支持 反对

使用道具 举报

发表于 2005-8-16 18:43:04 | 显示全部楼层
ls就可以呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-16 20:28:51 | 显示全部楼层
我知道 ls -R  可以递归

但是 ls 如何输出类似 find 那样的格式呢
回复 支持 反对

使用道具 举报

发表于 2005-8-16 21:16:29 | 显示全部楼层
试一下这个:

  1. find -path './*' -not -path './.*' -name '*pattern*' -not -name '.*pattern*'
复制代码

查找在当前非隐藏目录(以“.”起头的目录)下附合模式pattern的非隐藏文件。
回复 支持 反对

使用道具 举报

发表于 2005-8-16 22:02:25 | 显示全部楼层
Post by Mandriva
试一下这个:

  1. find -path './*' -not -path './.*' -name '*pattern*' -not -name '.*pattern*'
复制代码

查找在当前非隐藏目录(以“.”起头的目录)下附合模式pattern的非隐藏文件。

精彩! 不过要略微修改一下因为按上面的方法,子目录下的隐含目录仍然会被搜索。

  1. find -path './*' -not  -path '*/.*' -name '*open*' -not -name '.*open*'
复制代码

这样就OK了。一个find命令实现了楼主的要求。谢谢Mandriva兄。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-17 00:42:44 | 显示全部楼层
解决了

多谢 Mandriva兄~~
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表