On Tue, 6 Apr 2004, fergus wrote: > >> GNU grep detects binary files by looking for a '\0' byte. > > I know this is not strictly Cygwin-specific but it _is_ generated by the > preceding relevant recent comment in a busy thread: > > Please can you tell me how to grep for an ASCII 00 (and for that matter > anything from ASCII 1B to 1F, and 7F to FF)? > > (Or, I suppose in general for any of 00-FF though there's a "^A - ^Z" chunk > at the beginning and a alphanumeric chunk in the middle, that are easily > found by direct means.) > > Fergus
For anything but '\0', grep has no problem matching binary characters, so you can use something like grep -a "`echo -ne "\01"`" or grep -a "^V^A" (from the command line) to match lines with ^A in them. Unfortunately, grep uses '\0' as a string terminator, so the above trick won't work with '\0'. The best you can hope to do with grep (or, for that matter, sed) is use "[[:cntrl:]]". You *can*, however, use perl for this: perl -ne 'print if /\0/' HTH, Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ [EMAIL PROTECTED] ZZZzz /,`.-'`' -. ;-;;,_ [EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/