This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: grep weirdness - matching space character


On Tue, Sep 26, 2006 at 11:16:42AM +0100, The Blog User wrote:
>I am really struggling to understand what I am doing wrong here.
>
>I have a log file with a line that looks like this:
>
>++ 04:51:32 All 94 items succeeded
>
>The binary data for that line is this:
>
>2B 2B 20 30 34 3A 35 31 3A 33 32 20 41 6C 6C 20 39 34 20 69 74 65 6D 73 20
>73 75 63 63 65 65 64 65 64 0A
>
>using grep and tail (versions below) I am failing to match that line
>
>$ tail -1 /path/to/file/the.log | grep -a "All \d*.items succeeded"
>
>however if I insert 3 (why three?) dots (or a .*) between 'All' and '\d' I
>get a match, what is happening ?

grep doesn't recognize \d as matching a number so it is not going to do
what you think it does.  All...  will skip over the 94 above and match
zero occurrences of \d so that's why that works.

Use [0-9]* instead of \d.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]