sábado, 2 de novembro de 2019

SED (Stream EDitor)

O SED é um editor de texto para usarmos em scripts de configuração para automatizarmos algumas tarefas.
Esse artigo não é de minha autoria e o link do conteúdo original está no final.
1 - Troca todas as palavras em um arquivo por outra

sed -i 's/palavra/outra/' arquivo.txt

2 - Imprime só a nona linha

sed -n '9p' arquivo.txt

3 - Imprime da sexta linha até a nona linha

sed -n '6,9p' arquivo.txt

4 - Deleta todas as linhas que contém a palavra desejada no arquivo

sed -i '/palavra_desejada/d' arquivo.txt

5 - Coloca uma palavra no INÍCIO de cada linha

sed 's/^/palavra/' arquivo.txt

6 - Coloca uma palavra no final de cada linha

sed 's/$/palavra/' arquivo.txt

7 - Imprime só as linhas que COMEÇAM com a string ‘http’

sed -n '/^http/p' arquivo.txt

8 - Deleta só as linhas que COMEÇAM com a string ‘http’

sed -n '/^http/d' arquivo.txt

9 - Troca TODAS ocorrências da palavra “marcos”, “eric”, “camila” pela palavra “pinguim”

sed 's/marcos\|eric\|camila/pinguim/g' arquivo.txt

10 - Troca tudo que estiver ENTRE as palavras “Marcos” e “Eric” pela palavra “eles”, exemplo, o texto é:

“No sábado Marcos saiu de pra brincar de bicicleta com o Eric, mas não ficaram até tarde.” e ficará assim: “No sábado eles, mas não ficaram até tarde.”

sed 's/Marcos.*Eric/eles/' arquivo.txt

11 - Deleta linha em branco e altera o arquivo

sed -i '/^$/d' arquivo.txt

12 - Substitui “foo” por “bar” somente as linhas que contém “plop”

sed '/plop/ s/foo/bar/g' arquivo.txt

13 - Substitui “foo” por “bar” exceto as linhas que contém “plop”

sed '/plop/! s/foo/bar/g' arquivo.txt

14 - Insere da Linha 2 a linha 7 o “#” no início de cada linha

sed '2,7s/^/#/' arquivo.txt

15 - Insere a palavra ‘NEW’ no início de cada linha, da linha 21 até a linha 28:

sed -i '21,28s/^/NEW/' arquivo.txt

16 - Troca tudo entre as tags “<” e “>” pela palavra “CODIGO”:

sed 's/<[^>]*>/CODIGO/g' arquivo.txt

17 - Imprime somente a primeira ocorrência da linha com determinada palavra:

sed -n '/dia/{p;q;}' arquivo.txt

18 - Inclue texto no final da linha 9:

sed '9s/$/final da linha/' arquivo.txt

19 - Coloca todas as linhas em uma só:

sed ':a;$!N;s/\n//;ta;' arquivo.txt

20 - Substitui a palavra “BELEZA” por “SIM” somente entre determinadas linhas:

sed '3,6s/BELEZA/SIM/' arquivo.txt

21 - Apaga o que está entre a palavra “falou” e “segundo” ( delimitadores )

sed '/segundo/{/falou/{s/segundo.*falou//;t};:a;/falou/!{N;s/\n//;ta;};s/segundo.*falou/\n/;}' arquivo.txt

22 - Retira comandos HTML (tudo entre < e > )

sed 's/<[^>]*>//g' arquivo.txt

23 - Apaga o 1° caracter da frase

sed 's/.//' arquivo.txt

24 - Apaga o 4° caractere da frase

sed 's/.//4' arquivo.txt

25 - Apaga os 4 primeiros caracteres

sed 's/.\{4\}//' arquivo.txt

26 - Apaga no mínimo 4 caracteres

sed 's/.\{4,\}//' arquivo.txt

27 - Apaga de 2 a 4 caracteres (o máx. que tiver)

sed 's/.\{2,4\}//' arquivo.txt

28 - Exemplos de intervalo

echo "aáeéiíoóuú" | sed "s/[a-u]//g"

saída: áéíóú

echo "aáeéiíoóuú" | sed "s/[á-ú]//g"

saída: aeiou

29 - Transforma texto (URL) em tags HTML de links.

Era : http://www.com

Fica: <a href=”http://www.com”>http://www.com</a>

sed 's_\<\(ht\|f\)tp://[^ ]*_<a href="&">&</a>_' arquivo.txt



O link abaixo ainda traz o uso de REGEX:

https://terminalroot.com.br/2015/07/30-exemplos-do-comando-sed-com-regex.html

Nenhum comentário:

Postar um comentário