parte II: Enviando dados pro sed
parte III: Selecionando as linhas em que vamos trabalhar
parte IV: Substituindo
parte V: Scripts em sed
parte VI: Expressões Regulares
parte VII: Referenciando com &
parte VIII: Back Reference
parte IX: Hold Space ou Espaço Reserva
parte X: Por onde prosseguir e Considerações Finais
parte XI: Comandos de uma linha só
Caso use com frequência algum comando de sed, você pode salvá-lo na forma de script.
Por exemplo, salve frase.sed, com o seguinte conteúdo:
s/duende/gnomo/
s/javali/porco/
Para executar, siga esse 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 ''.
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.
Pra 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
Pra executar:
./frase.sed frase.txt
- Comentando seus scripts
Uma boa prática em programação, sã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.
Aqui, 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 cuidade caso este seja seu objetivo.
# 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.
Nenhum comentário:
Postar um comentário