Usando sed, como posso acrescentar “START” acima da primeira linha e “END” abaixo da última linha?

2

Usando sed, como posso acrescentar "START" acima da primeira linha e "END" abaixo da última linha?

Arquivo de entrada:

Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300

Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500

Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400

Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700

Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900

Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100
    
por Steve 08.10.2012 / 21:21

2 respostas

6

Use "endereços": 1 representa a primeira linha, ^ significa o início da linha. $ representa a última linha de um endereço e também significa fim de linha em uma expressão regular.

sed -e '1s/^/START\n/' -e '$s/$/\nEND/'
    
por 08.10.2012 / 21:23
2

Você também pode fazer isso sem corresponder usando i e um comando.

sed -e '1i START' -e '$a END'

mas é a mesma coisa.

    
por 08.10.2012 / 21:35

Tags