Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Tue, 6 Apr 2004 15:19:46 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: fergus AT bonhard DOT uklinux DOT net cc: cygwin AT cygwin DOT com Subject: Re: Bogus assumption prevents d2u/u2d/conv/etal working on mixed files Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.39 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/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,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/