LinuxSir.cn,穿越时空的Linuxsir!

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

用find怎么一次找出所有的.h和.cc文件?

[复制链接]
发表于 2005-3-23 17:25:10 | 显示全部楼层 |阅读模式
find -name "*.[hcc]"不行的,那该怎么写呢?
发表于 2005-3-23 17:42:41 | 显示全部楼层
find -name '*.h *.cc' 试下
回复 支持 反对

使用道具 举报

发表于 2005-3-23 18:18:53 | 显示全部楼层
第一次用grep
本来以为用
  1. ls -a -R -1 | grep -e .*\.(cc|h)
复制代码

挺好的

后来发现grep 语法错

改用
  1. ls -a -R -1 | grep -e .*\.cc -e .*\.h
复制代码

使得可以递归枚举出所有子目录下的.h和.cc文件,包括隐藏文件.cc和.h。

grep的正则式规则我不知道如何表示选择 "|"运算,还望告知!!
回复 支持 反对

使用道具 举报

发表于 2005-3-23 19:03:35 | 显示全部楼层
用egrep可以支持表达式组和可选项

  1. ls -a -R -1 | egrep -e ".*\.(cc|h)"
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-3-23 19:28:30 | 显示全部楼层
这样不行吗?

  1. find -name *.h -o -name *.cc
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-3-23 19:31:47 | 显示全部楼层
用egrep可以支持表达式组和可选项


  1. ls -a -R -1 | egrep -e ".*\.(cc|h)"
复制代码


应该是

  1. ls -a -R -1 | egrep -e ".*\.(cc$|h$)"
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-3-23 19:35:55 | 显示全部楼层
$ find -name *.cc -name *.h
find: 路径必须在表达式之前
Usage: find [-H] [-L] [-P] [path...] [expression]


我这里是这个结果。奇怪的find。
回复 支持 反对

使用道具 举报

发表于 2005-3-23 19:59:01 | 显示全部楼层
$ ls -a -R -1 | egrep -e ".*\.(jpg$|png$)"
(没有显示)
$ ls -a -R -1 | egrep -e ".*\.(jpg|png)"
1141004.jpg
1347214.jpg
acroread2.png
acroread.png
head66.jpg
head66.png
head67.jpg
JDSJ292.jpg
.jpg
leafpad.png
oops.png
11115710.jpg
1112262.jpg
1339368.jpg
15282710.jpg
15283718.jpg
298083425yDDxvu_fs.jpg
298083513rrmbNw_fs.jpg
298083597vizCwn_fs.jpg
298083738tnuErf_fs.jpg
298084091ZkuJiX_fs.jpg
298084674GddHeo_fs.jpg
298084759DUNZfP_fs.jpg
298086316VhfWQf_fs.jpg
298086504mrpGOp_fs.jpg
298086598uarmeL_fs.jpg
298086747AoVcWw_fs.jpg
298086826nolYOl_fs.jpg
298088707YIsFxT_fs.jpg
回复 支持 反对

使用道具 举报

发表于 2005-3-23 20:02:19 | 显示全部楼层
不可能啊,我这里好好的。
回复 支持 反对

使用道具 举报

发表于 2005-3-23 20:24:40 | 显示全部楼层
OOPS:莫非是软件版本差异?
我用的是gentoo
回复 支持 反对

使用道具 举报

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

本版积分规则

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