[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: An appropriate directory search tool?



On Fri, Oct 19, 2018 at 11:12:30AM -0400, Roberto C. Sánchez wrote:
> On Fri, Oct 19, 2018 at 10:00:25AM -0500, Richard Owlett wrote:
> > The "MATE Search Tool" comes close.
> > 
> > It can:
> >   Select a starting directory.
> >   Search for a specific extension.
> >   Search for a keyword in file content.
> > 
I missed your keyword search requirement.

> > It cannot:
> >    Search ONLY the specified directory.
> >    Return files that DO NOT contain a keyword.
> > 
> > I suspect what I want would most likely be what I'm looking for.
> > "ls" can search by extension and stay in specified directory.
> > It cannot include/exclude keywords.
> > 
> > My immediate problem involves only a couple dozen files so manual search is
> > feasible.
> > 
> > Suggestions?
> 
> I recommend 'find' run from the terminal.
> 
> For example, I have a directory tree full of files like shell scripts,
> Perl scripts, and also XML documents and their Russian translations.  To
> find the XML documents that are not Russian translations, I can do this:
> 
> find . -name '*.xml' -a \! -name '*_ru.xml'
> 
I would modify the above command like this:

find . -name '*.xml' -a \! -name '*_ru.xml' -exec grep -Hn '<year>2003-2005</year>' {} \;

> Read that as "find, the current director, files named *.xml and not
> named *_ru.xml."
> 
Which would then change the reading to "find, the current director,
files named *.xml and not named *_ru.xml that contains the string
'<year>2003-2005</year>'." (the -Hn options to grep tell it to display
the file name and line number of each match)

> It also supports an amazing array of conditions, like newer/older than,
> same/different permissions, size, etc.
> 
> Regards,
> 
> -Roberto
> -- 
> Roberto C. Sánchez
> 

-- 
Roberto C. Sánchez


Reply to: