help-gnu-utils
[Top][All Lists]
Advanced

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

Re: grep -r doesn't work for me


From: Mickey Ferguson
Subject: Re: grep -r doesn't work for me
Date: Thu, 13 Mar 2008 23:19:39 GMT

Does anyone have a solution to the file case-sensitivity problem I'm 
experiencing in grep?  Filenames should NOT be case-sensitive in Windows. 
Is there something I can do to fix this, either with configuration or a 
command-line switch or something else?

"Mickey Ferguson" <ReneeMickey.Ferguson@verizon.net> wrote in message 
news:mailman.7839.1203820601.18990.bug-gnu-utils@gnu.org...
> Bob, thanks for the help.  You are right about the missing directory 
> argument.  I missed that earlier.  By supplying ".", it eliminated the 
> 'Not enough space' error.  I finally got it to the point where I got it 
> mostly working, but I discovered one thing about the port that may be good 
> for the unix environment, but doesn't work for Windows:  The filename 
> pattern matching is case sensitive.  In other words, if I had a file named 
> "MyFile.txt" and I searched for "my*.txt" (without the quotes in both 
> cases), it would fail to find it, while if I searched for "My*.txt" it 
> would find it.  I understand that in the unix world filenames are 
> case-sensitive, but in the Windows world they are not.  Thus, file pattern 
> matching should not be case-sensitive for the Windows implementation.
>
> "Bob Proulx" <bob@proulx.com> wrote in message 
> news:mailman.7817.1203760771.18990.help-gnu-utils@gnu.org...
>> Mickey Ferguson wrote:
>>> My problem is that it just doesn't work for me.  (I'm using XP SP2.)
>>> When I use the -r switch, I get a 'Not enough space' error.
>>
>> That does seem strange.
>>
>>> ->grep -rl --include=*.ini Change
>>> grep: (standard input): Not enough space
>>
>> First things first.  You are missing a directory argument in which to
>> recurse.  Because grep does not have any file/directory arguments to
>> process it defaults to reading standard input.  Using -r does not make
>> sense with regards to standard input.
>>
>> Fix this first by giving grep a directory to recurse into.  When using
>> the -r option it is typical to use the '.' directory.  Try this:
>>
>>  grep -rl --include=*.ini Change .
>>
>>> I've created an alias in my command processor (4nt) language, that
>>
>> The typical way to do this would be to use 'find'.
>>
>>  find . -name "*.ini" -exec grep -l Change {} +
>>
>> The {} is replaced by find with a maximum list of filenames and the
>> '+' terminates the command.
>>
>>> ... This works fine, but I'd rather figure out what I'm doing wrong
>>> above with the -r switch.
>>
>> Admirable.  Looks like it is a bug in the port to me.  It doesn't give
>> that error in GNU grep's native GNU environment.  But your results
>> sound as if the code is trying to recurse on stdin and failing.  That
>> should be reported to the Cygwin folks.
>>
>> Bob
>>
>>
>
>
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]