[ILUG] sed

Brian Foster blf at blf.utvinternet.co.uk
Sun Jul 11 14:29:25 IST 2004


  | Date: Sun, 11 Jul 2004 10:48:58 +0100
  | From: <olearypj at rte.ie>
  | 
  | I need to delete the header & keep the body of an email,
  | I tried it with the following sed command,
  |      sed '1,/^$/d' email > emailbody.txt
  | to delete from the first line up to the first white space,

 that sed(1) command deletes all lines from
 the very first to and including first line
 which is _empty_.

 "whitespace" is nominally considered the set
 of characters space, (horizontal) tab, usually
 newline, and often also vertical tab, form feed,
 and carriage return.  if you want to delete up
 until one of those characters, you'll need to
 use a rather different sed script ....

 .... BUT you do not, as yer original actually _is_
 what you want, it is just the description which is
 misleading.   ;-)

  | but all I get is an empty emailbody.txt.

 as to what is going wrong, it must(?) be the case
 that either the input `email' is empty (unlikely);
 or that the input does not contain a truly empty
 line at all --- then sed will search for one until
 the end, outputting nothing, and quit.  end result
 is an empty output file.

 so if it _looks_ like you have empty lines, then
 it must be an "invisible" character.  and in this
 particular case, carriage return (^M, CR, \r, or
 U+000D) is the most likely candidate.  check with
 od(1), hexdump(1) or similar.

 ( I've no idea if a ^M on that separating line is
  legal or not?   I have_not_ been able to find an
  example in a survey of c.4000 messages, so I am
  a bit puzzled here ....   and as such, I do not
  see anything wrong with either the sed script or
  the algorithm .... )

cheers!
	-blf-
-- 
«How many surrealists does it take to    |  Brian Foster      Montpellier,
 change a lightbulb?  Three.  One calms  |  blf at utvinternet.ie      FRANCE
 the warthog, and two fill the bathtub   |    Stop E$$o (ExxonMobile)!
 with brightly-colored machine tools.»   |        http://www.stopesso.com



More information about the ILUG mailing list