0

Consider this situation where i have many files 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

5 Answers 5

9

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.

Sign up to request clarification or add additional context in comments.

Comments

1

You can try something like this:

find Example | xargs grep 'Class Example' 

Comments

0

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

Comments

0

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

2 Comments

What is this Beagle? how does this relates to my question?
@balanv Beagle is a search daemon for Linux. I use it in Ubuntu 10.04
0

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.