首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
自考
编写一个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
30
问题
编写一个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
操作系统
理工类
相关试题推荐
单机上网用户面临的安全问题主要有:计算机硬件设备的安全、___________、网络蠕虫、恶意攻击、木马程序、网站恶意代码、操作系统和应用软件漏洞等。
计算机病毒程序利用操作系统的___________或加载机制进入内存。
对于给定的明文“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”病毒属于文件型病毒的()
一种参与密码变换的参数指的是密码学五元组中的()
随机试题
正常脑脊液压力是__________;超过__________为颅内压增高。
A.前列腺增生B.慢性前列腺炎C.前列腺结核D.前列腺结石E.前列腺癌输精管可及串珠样结节
患者,女性,30岁。主因尿频、尿急、尿痛3天就诊,无发热。查体:肾区叩击痛(一),临床诊断:急性膀胱炎。应首选的抗生素是
关于法与经济基础的关系,说法错误的是:()
煤矿常用的一氧化碳检测仪器有电化学式、()、催化氧化式等。
根据《行政许可法》及有关规定,属于税务行政许可事项的涉税事项有()。(2012年,经调整)
央视《是真的吗》节目调查小组分别选择塑料、硅胶及皮革这三种常见材质的手机套,按手机正常使用时的平均温度将实验舱内温度加热到45℃,1小时后手机套被加热后释放出的气体收集完毕,经分析发现,手机套释放量最大的有毒物质是甲醛。下列最合适作为以上文字的标题的是:
希望的田野有了文化的(),才能更加欣欣向荣;勤劳的人民接受文化的(),才能生活得更加幸福美好。
财务管理的微观环境包括()。
关于do…while循环的叙述中正确的是()。
最新回复
(
0
)