搜索含有指定字符串的文件,并输出文件名

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

搜索含有指定字符串的文件,并输出文件名

#1

帖子 人在井天 » 2011-09-22 9:58

比如,一个目录下有几千个文件,一些文件含有"中国","美国","英国"这样三个字符串,把所有这些文件找出来,并把文件名输出到一个指定的文件中.
头像
link_01
帖子: 1024
注册时间: 2008-11-05 13:24

Re: 搜索含有指定字符串的文件,并输出文件名

#2

帖子 link_01 » 2011-09-22 10:59

grep -E "中国|美国|英国" -R thepath -l > targetfile.txt
笔记
-------------------------------------
http://blog.163.com/wqt_1101
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: 搜索含有指定字符串的文件,并输出文件名

#3

帖子 人在井天 » 2011-09-22 12:16

link_01 写了:grep -E "中国|美国|英国" -R thepath -l > targetfile.txt
命令似可执行.但似乎:
一、你这个命令是分别搜索包含"中国","美国","英国"这样的字样,只要有其中的一个,就算是了.而我需要的是一个文件中包含这三个全部的.
二、好象只能搜英文字符串,搜中文则搜不到.
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: 搜索含有指定字符串的文件,并输出文件名

#4

帖子 人在井天 » 2011-09-22 13:48

找到的办法,好象都不支持中文字符串,这是个麻烦所在.
头像
link_01
帖子: 1024
注册时间: 2008-11-05 13:24

Re: 搜索含有指定字符串的文件,并输出文件名

#6

帖子 link_01 » 2011-09-22 16:03

是你自己说的不清楚,

代码: 全选

grep 英国 -l $(grep 美国 -l $(grep 中国 -l -R .))
很有意思
笔记
-------------------------------------
http://blog.163.com/wqt_1101
头像
mswwjick
帖子: 645
注册时间: 2009-01-28 21:42

Re: 搜索含有指定字符串的文件,并输出文件名

#7

帖子 mswwjick » 2011-09-22 17:12

先关注一下,等LZ把问题讲清楚了,在来看看。
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: 搜索含有指定字符串的文件,并输出文件名

#8

帖子 人在井天 » 2011-09-22 17:13

link_01 写了:是你自己说的不清楚,

代码: 全选

grep 英国 -l $(grep 美国 -l $(grep 中国 -l -R .))
很有意思
这个并不是难点所在,难点在于,一些文件不支持搜索中文字符串.我的文件是从一个asp网站下载来的整个网站目录,根本就不支持这个.比如:

代码: 全选

$ file boot.asp
boot.asp: ISO-8859 HTML document text, with CRLF line terminators
头像
naturalaw
帖子: 1360
注册时间: 2011-09-06 22:04

Re: 搜索含有指定字符串的文件,并输出文件名

#9

帖子 naturalaw » 2011-09-22 20:54

人在井天 写了:
link_01 写了:是你自己说的不清楚,

代码: 全选

grep 英国 -l $(grep 美国 -l $(grep 中国 -l -R .))
很有意思
这个并不是难点所在,难点在于,一些文件不支持搜索中文字符串.我的文件是从一个asp网站下载来的整个网站目录,根本就不支持这个.比如:

代码: 全选

$ file boot.asp
boot.asp: ISO-8859 HTML document text, with CRLF line terminators
先转码?
  • The eternal law
头像
link_01
帖子: 1024
注册时间: 2008-11-05 13:24

Re: 搜索含有指定字符串的文件,并输出文件名

#10

帖子 link_01 » 2011-09-23 9:51

要求可真高,你一下把问题说完,编码不对你就转啊,
结贴! :em20
笔记
-------------------------------------
http://blog.163.com/wqt_1101
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: 搜索含有指定字符串的文件,并输出文件名

#11

帖子 人在井天 » 2011-09-23 10:36

link_01 写了:要求可真高,你一下把问题说完,编码不对你就转啊,
结贴! :em20
一、最初没发现不支持中文的问题,哪能一下子就说完了?
二、编码不对,是可以转码,但我所需要的是批量修改文件,如果批量转码,文件的原有结构就被破坏掉了,很难还原的,改了也不能用了.
所以转码不现实.
回复