首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
编写一个Shell程序findit.sh通过调用递归的Shell函数,搜索参数2指定的目录树,查找所有的以.c和.h结尾的文件,如文件行中含有参数1指定的字符串,显示该行和相应的文件名。如目录参数2省略,则从当前目录中搜索。例如: findit.sh se
编写一个Shell程序findit.sh通过调用递归的Shell函数,搜索参数2指定的目录树,查找所有的以.c和.h结尾的文件,如文件行中含有参数1指定的字符串,显示该行和相应的文件名。如目录参数2省略,则从当前目录中搜索。例如: findit.sh se
admin
2016-05-14
41
问题
编写一个Shell程序findit.sh通过调用递归的Shell函数,搜索参数2指定的目录树,查找所有的以.c和.h结尾的文件,如文件行中含有参数1指定的字符串,显示该行和相应的文件名。如目录参数2省略,则从当前目录中搜索。例如:
findit.sh searchstring /home/student/wallg
搜索以/home/student/wang为根的目录树中的C程序和头文件,查找含有searchstring字符串的行,显示文件名,例如:
findit.sh searchstring
从当前目录开始搜索。用含有Shell特殊字符的字符串模式进一步调试该SheU程序。
选项
答案
程序清单21-3的findit.sh通过调用递归函数findit_rue实现搜索功能。 程序清单21-3:findit.sh #!/bin/sh findit_fuc() { for item in*;do {}对当前目录中的每一项 if[-d$item];then #如是目录 ( #在子进程中执行 path_dir=$path_dir/$item cd$item #退出子进程后,能回到原先目录 findit fuc {}递归执行函数 ) eise grep $filter_str_$item>/dev/null 2>/dev/null #先获得查找状态 if[$?-eq 0];then#查找到字符串 echo-n"In$pathdir dir:" #显示目录 grep-Hn$filter_str$item #显示文件名与行号 fi fi done } if[${I}-eq0];then {}无字符串参数 echo usage:$0 string dir exit fi if[$#-ge2];then path dir=$2 else path_dir=$PWD #当前目录作为查找目录 fi filter_str=$1 cd$path_dir findit_fuc。
解析
转载请注明原文地址:https://kaotiyun.com/show/QdNx777K
本试题收录于:
操作系统题库理工类分类
0
操作系统
理工类
相关试题推荐
“Yankee”病毒属于文件型病毒的()
对于给定的明文“security”,使用加密函数E(m)=(5m+1)mod26进行加密,其中m表示明文中被加密字符在字符集合(a,b,e,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)中的序号,序号依次为0
把自己的程序加入或取代部分操作系统进行工作,可以导致整个系统瘫痪的病毒称为()
文件型病毒按其驻留内存方式可以分为哪几种?
能够寄生在文件中的计算机病毒称为___________病毒。
“1701”病毒属于文件型病毒的()
随机试题
T淋巴细胞的功能()
贾平凹是当代最多产的作家之一。1978年凭借《_________》,获得首届全国优秀短篇小说奖。1988年,长篇小说《_________》获美国美孚飞马文学奖。1993年创作的《_________》于1997年获法国费米娜文学奖。2011年凭借长篇小说《_
患者,女,58岁。3年来劳累后感心悸、气短、头晕,但能正常工作。1个月来感乏力,上一层楼即感心悸、气短,休息后可缓解。查体:血压150/60mmHg,脉搏80次/分,双肺清,未闻干湿啰音,心界向左扩大,心律整,胸骨左缘第3肋间可闻舒张期叹气样杂音,心尖部可
某区妇幼保健院的孕妇学校开设了口腔健康教育课,通过听课准妈妈们掌握了许多知识孕妇与胎儿口腔健康的物质基础是
甲公司是一家大型制造企业,主要为一些著名品牌进行代工加工。工厂位于深圳市。2009年以来,深圳开始上调最低工资标准,使该公司成本压力上升,挤压利润。该公司经过与内地某省洽谈后,决定将深圳工厂转移至该省,以有效降低人工成本。根据以上信息可以判断,甲公司在经营
被北京奥运会证明卓有成效的“人民战争”安保模式将在新中国成立六十周年庆典中继续。现在随着庆典的日益临近,参加这场“战争”的百多万安保志愿者正发起冲锋,与官方一道力保各项庆典活动()。依次填入画横线部分最恰当的一项足()。
利用()标准可以传输多媒体邮件。
现代操作系统中,引入线程的主要目的是()。
阅读下面代码classTestimplementsRunnable{ publicintrun(){ inti=0; while(true){ i++; System.out.p
CPU的参数如2800MHz,指的是
最新回复
(
0
)