From: myknees AT aol DOT com (Myknees) Newsgroups: comp.os.msdos.djgpp Subject: Re: sed hates me Date: 8 Jun 1998 02:33:58 GMT Lines: 43 Message-ID: <1998060802335800.WAA17898@ladder01.news.aol.com> NNTP-Posting-Host: ladder01.news.aol.com References: <357aae4b DOT 6492244 AT news1 DOT bway DOT net> Organization: AOL http://www.aol.com To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk In article <357aae4b DOT 6492244 AT news1 DOT bway DOT net>, jlrubin AT bway DOT net (Josh Rubin) writes: >Sed vewsion 1.18 doesn't seem to like backspaces in >regular expressions. It depends on how you say "backspace" to sed. >sed --expression='s/\b//g' file > output >leaves backspaces untouched. - try it on a formatted man page. While '\b' matches backspace in awk, it doesn't in sed. There are a lot of little differences between sed and awk, and escape sequences are often different. One possible way to find ways to express "backspace" & other characters to sed is to view a file in less.exe. If you look at the formatted man page you mention with less using the -U switch, or if you open the *.1 file in emacs, you'll see that there are a bunch of ^H characters. That is your clue that by typing control-H, you generate the character "backspace". The problem is that you need to be able to type that without the cursor going backward. In bash and under vi, you can do that by first typing control-v. In the DOS editor, EDIT, you can do that by first typing control-p. Maybe someone knows how to get a control-h character into an emacs buffer or onto a command.com command line--I don't. If you put control-H into the regexp instead of the backslash and 'b', sed will match the backspace characters. >sed --expression='s/x\b//g' >removes the 'x' but leaves the backspace! sed -e 's/\(.\)^H\1/\1/g' -e 's/_^H\(.\)/\1/g' foo.1 Will remove much of the stuff from formatted man pages. (Assuming they're real control-h characters and not just carat-followed-by-h.) You can tell how to form the regexp by looking at the man page in emacs. >Am I doing something wrong, or is this a sed bug, or >this this specific to the DJGPP port? It's a feature, I think. sed isn't like awk. --Ed (Myknees)