Date: Fri, 04 Sep 1998 12:13:10 -0400 From: Roman Katsnelson <romank@graphnet.com> To: Dan Nelson <dnelson@emsphone.com> Cc: "q's" <freebsd-questions@FreeBSD.ORG> Subject: Re: grep question Message-ID: <35F01196.BA6A7F7F@graphnet.com> References: <35EFEEA4.65B3315F@graphnet.com> <19980904095358.A7658@emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> --- deleterecord ---
> #!/bin/sh
>
> file="file.txt"
> recid=$1
> # get the starting line number for the record we're interested in
> line=$(grep -n "^# --->$recid" $file) # grep -n prepends line with line num
> linenum=${line%%:*} # remove everything after the first colon
>
> if [ -z "$linenum" ] ; then
> echo Record $recid not found
> exit 1
> fi
>
> # calculate the start and end line numbers
> start=$(( $linenum - 2 ))
> end=$(( $linenum + 13 ))
>
> # delete the offending record
> sed -e "${start}-${end}d" < $file > $file.tmp
Thank you!
When I test this on an actual record, though,
it returns:
sed: 1: "270-285d": invalid command code -
any ideas?
btw, what's a good book on sed and awk and sh etc.?
mucho thanks AA
roman
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35F01196.BA6A7F7F>
