General UNIX puzzle

Bill Campbell freebsd at celestial.com
Fri Jan 16 20:48:43 PST 2004


On Fri, Jan 16, 2004, Brett Glass wrote:
>I was asked a good question today about how to do some simple tasks using 
>standard UNIX tools, and am curious what answers people on the list might 
>come up with.
>
>What are the simplest, most efficient ways to:
>
>1) Delete the Nth line from a text file?
>2) Insert a specified line in a file after the Nth line, leaving the rest 
>of the text the same?
>3) Delete the first line containing a particular string?
>4) Insert a specified line after the first line containing a particular 
>string, leaving the rest of the file the same?

You want to do these things with the file in-place?  The old
fashioned way to do this is to ed or ex as an in-place upate.

# first example (from memory, I would probably have to try these
# to be sure they work.
ed - << DONE
3d
w
q
DONE

# second
ed - <<DONE
3a
line to be inserted


More information about the freebsd-questions mailing list