is it possible to find the file which contains a s

2020-03-31 06:11发布

问题:

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

回答1:

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.



回答2:

You can try something like this:

find Example | xargs grep 'Class Example'


回答3:

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



回答4:

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



回答5:

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.



标签: linux shell