免费注册 查看新帖 |

Chinaunix

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

帮忙实现FIND功能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-13 19:48 |只看该作者 |倒序浏览
帮忙写个参考SH,复杂点更好`~最后注释下啊````谢谢咯

不用find命令,写一个Shell脚本myfind.sh,实现find的部分功能。即从当前目录开始遍
历各级子目录,找到所有指定的文件。
1. 脚本中编写一个函数,实现递归调用,在当前目录下的所有子目录中搜索,注意主程
序中参数的保留和传递。
2. 如果目录名与欲查找的文件名相同,也作为查询结果。
3. 以绝对路径的格式显示查找结果。
4. 可以在当前目录下自建多级目录或利用已有的目录结构进行测试。
如:./myfind.sh access,将从当前目录开始遍历各级子目录,寻找access文件。
提示:关于递归:在Shell脚本中是允许递归调用的。在调用一个函数的过程中又调用了该
函数本身,称为递归调用。应当注意的是,在递归函数中应出现结束递归的条件,否则,
将陷入无终止的递归调用中。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-11-13 20:49 |只看该作者

帮忙实现FIND功能

有find不用,有病!自己不会,让别人代笔,想的美~,还是自己去写吧!
P.S:最讨厌这样的人啦

论坛徽章:
0
3 [报告]
发表于 2004-11-13 22:02 |只看该作者

帮忙实现FIND功能

大哥发话了,我也不好意思帮你,算自己的练习,谢谢提供题目,可要是不理解内容,请别直接拿去用,对自己不好.
程序可以满足简单要求,但效率不是很高,只提供核心,其他判断路径和帮助自己添加
执行命令为
./xxxx /etc filename
(XXX为脚本名,该程序只能使用绝对路径,作业嘛,细节自己搞定咯,人家都帮你搞好是不是有点不好 )
祝你好运兄弟
  1. FN=$2
  2. FF () {
  3. for I in $(ls|tr '\n' ' ')
  4. do
  5.         if [ "$I" = "$FN" ]
  6.         then echo "$PWD"/"$FN"
  7.         fi
  8. done
  9. }
  10. REC () {
  11. for SB in $(ls -F|grep '/$'|sed 's/\/$//'|tr '\n' ' ')
  12. do
  13. cd $SB
  14. FF
  15. REC
  16. cd ..
  17. done
  18. }
  19. cd $1
  20. FF
  21. REC
复制代码


LINUX BASH下测试通过

论坛徽章:
0
4 [报告]
发表于 2004-11-13 22:50 |只看该作者

帮忙实现FIND功能

ls -R可不可以用呢?呵呵,干吗要编这个shell啊?

论坛徽章:
0
5 [报告]
发表于 2004-11-13 22:54 |只看该作者

帮忙实现FIND功能

不知道,可能是作业吧,学校就是这么无聊,用SHELL写递归,我也是试试,算法没精炼

论坛徽章:
0
6 [报告]
发表于 2004-11-13 23:07 |只看该作者

帮忙实现FIND功能

原帖由 "寂寞烈火" 发表:
有find不用,有病!自己不会,让别人代笔,想的美~,还是自己去写吧!
P.S:最讨厌这样的人啦


同感
shell是为了方便想要功能实现的源代码到/usr/src/linux自己看

论坛徽章:
0
7 [报告]
发表于 2004-11-13 23:11 |只看该作者

帮忙实现FIND功能

UNIX参考手册上说UNIX精神就是用现有的东西来解决问题,楼主.........把问题复杂化了

论坛徽章:
0
8 [报告]
发表于 2004-11-13 23:20 |只看该作者

帮忙实现FIND功能

原帖由 "寂寞烈火" 发表:
有find不用,有病!自己不会,让别人代笔,想的美~,还是自己去写吧!
P.S:最讨厌这样的人啦


教育的是`~~我也觉得不好`但是这个学期比较忙``明天要交了`大家都上网当了``我先交掉`在慢慢研究`你blog里的文章我还找到了看呢``先应付掉吧``目前没找到教程 呢`这个要求是自学的``关键好多参数 什么的不知道``这个就相当于批处理,也不是很难``就是细节的来不及弄了`不过还是谢谢大家了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-11-13 23:26 |只看该作者

帮忙实现FIND功能

原帖由 "magicgiant" 发表:


教育的是`~~我也觉得不好`但是这个学期比较忙``明天要交了`大家都上网当了``我先交掉`在慢慢研究`你blog里的文章我还找到了看呢``先应付掉吧``目前没找到教程 呢`这个要求是自学的``关键好多参数 什么的不知道``�.........

sorry,请原谅,我有些冲动~, 望见谅

论坛徽章:
0
10 [报告]
发表于 2004-11-13 23:32 |只看该作者

帮忙实现FIND功能

主要目前重点不在这个上面,计算机组成原理实验别人6人一组,我一个人,要分析几千行汇编代码`还要找bug,还要扩展,还有MIS大作业要做个系统``实在难以分身,以后保证认真学习SHELL,但这次实在不得已
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP