Linux Shell编程 在文件/文件夹里查找字符串……很急切

在文件/文件夹里查找字符串(不考虑文件的有效性和权限问题)(1)找不到,输出Cannotfindmatchstringintargetfilesordirectories... 在文件/文件夹里查找字符串(不考虑文件的有效性和权限问题)
(1)找不到,输出Can not find match string in target files or directories
(2)找到,输出文件名,行号,包含字符串的行,每个文件里匹配的字符串个数,所有文件里匹配的字符串个数
如:file: abc.*
line number: 2 defg abc
line number: 5 iasfdkl abcds
number of matching strings in abc.*: 2
file: def.*
........................
number of matching strings in def.*: 3
number of matching strings in all files: 5

我用的是VI,望能给出答案的同时给一些解释,初学linux,很多还不明白!
如果好的话还会有金币感谢
展开
 我来答
littletreemiao
2011-10-22
知道答主
回答量:7
采纳率:0%
帮助的人:3.8万
展开全部
grep 字符串 -n -H 路径 就可以返回你找到的字符串的文件名,所在行号以及其内容。最好将路径付给一个变量,比较好写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户51888
2011-10-22 · TA获得超过143个赞
知道答主
回答量:176
采纳率:0%
帮助的人:127万
展开全部
临下班随便写一个,大体我是这个思路,估计你看看明白,自己在改改就行了。

[flycat@redhat ~]$ cat sfile.sh
#!/bin/bash
read -p "请输入要搜索的字串:" STX
NES=(`ls -l | grep -v '^d' | grep -v sfile.sh | awk '{print $9}'`)
for i in ${NES[*]}
do
#if [ $i -eq 2]
lines=`grep "$STX" $i | wc -l`
NE=`grep "$STX" $i -n`
TN=`grep -o "$STX" $i | wc -l`
echo "匹配行数:$lines 字串个数: $TN"
echo -e "显示所有内容:
$NE"
done
[flycat@redhat ~]$ ./sfile.sh
请输入要搜索的字串:this
匹配行数:3 字串个数: 4
显示所有内容:
22:# along with this this program; see the file COPYING. If not, write to
37:# is read after this file.
114:# Center footer is the list of files on this sheet if landscape
[flycat@redhat ~]$
追问
大哥,这个答案是你楼上再另一个问题中回答时的答案……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baochenggood
推荐于2016-01-10 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:51.3万
展开全部
[root@node3 test]#
[root@node3 test]# ls
hello test
[root@node3 test]# grep -ri hello .
./test/abc.txt:hello
./test/test/abc.txt:hello
./hello:hello
[root@node3 test]#
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小米飞猫
2011-10-21 · 专注于IT监控领域技术
小米飞猫
采纳数:1651 获赞数:4811

向TA提问 私信TA
展开全部
昨天我不是写过这个小脚本吗?你照着我写那个自己改改吧。
追问
刚刚学,挺多不明不,我就着你那个改了,不太理想,输入查找到字符后就没了……没有显示结果
追答
其实你不应该 用显示的方式来得到结果。
比如我文件夹下有100个文件,我那个脚本执行后,会搜索100个文件里的内容全部显示出来。
我觉得最好,你可以把结果输出保存到文本里。有时间我把那个脚本改一下吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-21
展开全部
你这个是要写个脚本么?vi不如vim好
追问
对,写个脚本
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式