[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
>>
>>
>
>
>
- Re: grep -r doesn't work for me,
Mickey Ferguson <=