Caso use com frequência algum comando de sed, você pode salvá-lo na forma de script.
Por exemplo, salve o arquivo: frase.sed
Com o seguinte conteúdo:
s/duende/gnomo/
s/javali/porco/
Para executar, siga este padrão:
sed -f comandos_em.sed arquivo_em_que_se_vai_trabalhar.txt
No nosso caso:
sed -f frase.sed frase.txt
Note que o sed interpreta cada linha como um comando, não sendo necessário estarem entre ' ' (aspas).
Lembre-se que linha não é a linha visível. Você pode escrever 1000 linhas em um editor e estar na primeira linha ainda, embora, visualmente você veja várias.
Para isso ficar bem claro, no
Vi/Vim, digite
:set nu, no modo comando.
Caso queira tornar seu script executável, adicione isso na primeira linha:
#! /bin/sed -f
Depois, dê permissão para executar:
chmod +x frase.sed
Para executar:
./frase.sed frase.txt
Comentando seus scripts
Uma boa prática em programação, é o uso de comentários.
Servem para explicar melhor uma passagem e não vão afetar a interpretação/compilação do código. É algo de desenvolvedor para desenvolvedor.
Em sed, assim como na maioria das linguagens de script, se utiliza '#' para fazer comentários.
* Uma ressalva: Caso os dois primeiros caracteres de seu script sejam: #n
O sed interpretará como a flag "-n" (não imprimir), anteriormente explicada. Ou seja, tome cuidado caso este seja seu objetivo.
Exemplo:
# Comentário ok
#Comentário ok
#Nesse caso, também
#nesse caso vai dar erro
Inserindo e anexando
Uma maneira de editar seus arquivos é através do comando
i (insert, inserindo) e
a (append, anexando).
Vamos adicionar os números "-1" e "0" ao início de nosso "teste.txt", e os números "7" e "8" ao final.
Para isso, crie o script: teste.sed
#! /bin/sed -f
1 i\
-1\
0
$ a\
7\
8
O número 1 representa a linha em que vamos inserir.
O $, em expressão regular, significa a última linha do arquivo.
Logo, inserimos "-1" e "0" a partir da primeira linha e "7" e "8", a partir da última.