LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 844|回复: 7

我机器里有一大堆文本文件。我在其中一个文件的某一个段里有一个我很喜欢的话,我如何

[复制链接]
发表于 2004-11-23 17:04:42 | 显示全部楼层 |阅读模式
如题?
 楼主| 发表于 2004-11-23 21:30:43 | 显示全部楼层

没有人和我说吗?

便 如我在一个目录下有100目录每个目录下又有100个文本文件,我想找到我在其中一个文件里的一段话有没有办法啊。(条件是我知道我的那段话里的一句)

我以前可以这样找; find /path/* | more * | grep "要找的内容“


但这种办法只能找到我要找的那个内部。并不能知道这个内容在那个文件里啊
请高手指点一下谢谢。
发表于 2004-11-23 22:10:33 | 显示全部楼层
给grep加上-l选项可显示包含匹配模式的文件名

还有一些选项有用的,兄弟可以man一下
发表于 2004-11-24 09:02:06 | 显示全部楼层
grep pattern *
 楼主| 发表于 2004-11-24 15:08:44 | 显示全部楼层

楼上的兄,我对shell不懂。

还请你把语法写的清楚一点。好吗?谢谢了。
发表于 2004-11-24 17:41:22 | 显示全部楼层

回复: 楼上的兄,我对shell不懂。

最初由 budaodao 发表
还请你把语法写的清楚一点。好吗?谢谢了。



比如你要在当前目录搜索文本中含有"hello"这个词的文件,你直接在终端输入

grep "hello" ./*

上述命令给出这样的格式:文件名:匹配的文本行
若是输入
grep -l "hello" ./* 则显示出来含有hello的文件名

兄弟要是能man一下命令就会更清楚了,个人觉得这样学习会更有效率

友善的提醒:使用UNIX/LINUX而说对shell不清楚实在不是一个好的借口
发表于 2004-11-24 20:03:51 | 显示全部楼层
兄弟你试试我这个shell:
--------------------------------------------------------------------
#!/bin/sh
path=`find /PATH/*`
for path in $path;do
a=`grep "要找的内容" $path`
if [ -n "$a" ];then
echo "$path"
fi
done
----------------------------------------------------------------------
 楼主| 发表于 2004-11-26 11:51:08 | 显示全部楼层

感谢感谢。

非常感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表