免费注册 查看新帖 |

Chinaunix

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

这样的脚本怎么写? [复制链接]

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-08 17:44 |只看该作者 |倒序浏览
我想查找所有包括main的程序,但要排除domain,如何实现?

find . -name *.c -exec grep  -l main {} \;能找到包括main 的,但domain也包括在内,
好像不支持
find . -name *.c -exec grep -l main|grep -v domain {} \;的语法。
不知是否有办法处理?

论坛徽章:
0
2 [报告]
发表于 2003-05-08 18:30 |只看该作者

这样的脚本怎么写?

把 -v 改为 -w

find . -name *.c -exec grep -l main|grep -w main {} \;

论坛徽章:
0
3 [报告]
发表于 2003-05-08 19:01 |只看该作者

这样的脚本怎么写?

再把domain过滤一下 :)
....|grep -v domain

论坛徽章:
0
4 [报告]
发表于 2003-05-08 19:21 |只看该作者

这样的脚本怎么写?

sco unix 5.0.5测试通过:
  1. find . -name "*.c" -print|xargs grep -l "^[ ]*main[ ]*"
复制代码

论坛徽章:
0
5 [报告]
发表于 2003-05-08 20:51 |只看该作者

这样的脚本怎么写?

^[ ]*main[ ]怎么理解这个表达式呀

论坛徽章:
0
6 [报告]
发表于 2003-05-08 21:11 |只看该作者

这样的脚本怎么写?

^[ ]*main[ ]*
在C中,主函数是以main()形式出现在程序中。
但由于程序员的原因可能会出现
  1. main()
  2.   main  ()
  3. main  (int c)
复制代码

等书写形式,为了匹配所有这些形式而又满足不至于匹配domain,即main前面要么是空格,要么什么也没有。而main与"("之间可以有若干空格,或什么也没有,能够满足这个要求的正则表达式只有"[ ]*",所以就有^[ ]*main[ ]*这样的表达式,刚好满足我们的愿望。

论坛徽章:
0
7 [报告]
发表于 2003-05-08 21:19 |只看该作者

这样的脚本怎么写?

谢谢

论坛徽章:
0
8 [报告]
发表于 2003-05-09 01:18 |只看该作者

这样的脚本怎么写?

to muzx
int main 呢 :-)

论坛徽章:
0
9 [报告]
发表于 2003-05-09 12:29 |只看该作者

这样的脚本怎么写?

原帖由 "deathcult" 发表:
to muzx
int main 呢 :-)

  1. 把 "^[ ]*main[ ]*" 换成
  2. "[ ][ ]*main[ ]*"
复制代码
[/code]

论坛徽章:
0
10 [报告]
发表于 2003-05-09 12:43 |只看该作者

这样的脚本怎么写?

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP