开发者

is it possible to find the file which contains a specific text in linux?

开发者 https://www.devze.com 2023-02-28 10:41 出处:网络
Consider this situation where i have many f开发者_如何学Goiles under a folder \"Example\".And if i need to find a file which contains a specific phrase like \"Class Example\", how do i do it with a li

Consider this situation where i have many f开发者_如何学Goiles under a folder "Example".And if i need to find a file which contains a specific phrase like "Class Example", how do i do it with a linux shell?

is there any "locate" like functions in linux to do this?

Thanks,

Balan


Use good ol' grep:

grep -R "Class Example" Example

where "Class Example" is the search string and Example is the directory, and -R specifies recursive search.


You can try something like this:

find Example | xargs grep 'Class Example'


You can do this using egrep "text1|text2" * or using grep, and cscope is also a good tool for searching and editing..


If you want a gui, and/or fast results,Beagle is a nice solution that I use. Beagle Main Page.


List of file names containing a given text

You can use a combination of find with grep to find the list of filenames containing the text as below.

find /<path>/Example -name "*" -exec grep -l "Class Example" {} \; 

Even if you are not use about the case like "Class" vs "class", you can use the -i switch to ignore case. Also if you know the file extension, you can give that to the -name attribute. You can read further details here.

0

精彩评论

暂无评论...
验证码 换一张
取 消