Arquivos de Categorias: SED

[Download] Dominando o sed

Como já sabem sou fã de sed, awp, bash (bash > all), enfim shellzinho. Existem algumas publicações em português indispensáveis na biblioteca de qualquer com nerd viciado em shell como o shell script profissional do Aurélio Marinho e os livros do Júlio neves.

Bom hoje apresento para quem não conhece um excelente ebook: Dominando o sed, escrito pelo Aurélio Marinho disponibilizado gratuitamente no seu site.

Um livro inacabado sobre Sed, disponível gratuitamente em PDF. Ele cobre instalação, todos os detalhes dos endereços, como lidar com arquivos, quebras de linha, maiúsculas e minúsculas, contando com vários exemplos didáticos com que podem ser testados em sua máquina.

Tá esperando o que para começar a ler? Baixe agora e vá ler: pela página oficial do ebook ou no meu ftp.

Dica: No meu ftp tem dezenas de paper e ezines sobre linux, programação, segurança, redes e claro shell :)

[]‘s

[SED] Introdução ao SED – parte 2

No episódio anterior, tivemos uma rápida introdução ao sed, vimos que podemos trocar uma string por outra de uma forma rápida com: sed ‘s/string/nova_string/’,

A ferramenta sed nos oferece diversos recursos para edições de textos, uma curiosidade sed significa Streams EDitor, vivendo e aprendendo, então bom, a sintaxe básica do sed será sempre sed ‘parametros’, sempre dentro de aspas simples.

Podemos excluir linhas que contém a string com o parâmetro ‘/string/d’, por exemplo:

$ cat arquivo-sacana.txt | sed -e'/manga/d'

O comando acima irá excluir as linhas que contém a palavra manga (nada contra quem gosta de manga, só quis excluir as mangas). Expandindo um pouco a mente, vejamos o exemplo abaixo:

$ cat arquivo-sacana.txt | sed -e ' /^manga/d'

Ih von, agora lascou tu enfiou um ^ antes da palavra manga, agora não sei mais o que o sed fez!

Calma jovem cadete, o von vai explicar :) o sed é uma ferramenta fantástica, como já disse umas 500x, ele suporta algo chamado expressões regulares ou no popular regex. Expressões regulares para não confundir o seu cérebro, ou para confundir logo de vez hehe, é uma forma ditar um padrão de texto, complicou mais ainda então vamos descomplicar, no caso acima disse ao sed: Olha sed eu quero que você pegue a linha aonde começa com a palavra manga e deleta essa linha. O que o ^ faz é bem simples só indica que a palavra seguida dele deve está no inicio da linha.

Já entrando um pouco no assunto expressões regulares, prometo futuramente fazer um guia introdutório a elas :)

[]‘s

[SED] Introdução ao sed

Introdução ao sed

Afinal o que é sed e para que ele serve? O sed é uma ferramenta muito interessante, considero junto com cut e tr as ferramentas mais sensacionais dos sistemas unix-like, ele nos permite substituir, remove, modificar, adicionar strings ou caracteres em determinadas posições. Complicou? Vamos simplificar então!

Imagine que você tem um texto enorme de 15 mil linhas e você precisa trocar todas as ocorrências da palavra chuchu por abacate! O que fazer? Vai tentar trocar termo por termo na mão? Obvio que você não é masoquista para tentar algo como isso.

O exemplo acima pode ser solucionado de uma forma muito simples, assumindo que o arquivo de 15 mil linhas se chama arquivo-sacana.txt vamos executar:

$ cat arquivo-sacana.txt| sed 's/chuchu/abacate/'

Explicando o comando assim:

$ → cifrão indica que você está logado com um usuário não root

cat → comando que exibi um arquivo-sacana

arquivo-sacana.txt → o arquivo que tem 15 mil linhas

| → joga o resultado do comando antes da | para o próximo comando, no caso o sed

sed – > o comando sed, dã

s/chuchu/abacate/ → aqui está a mágica!

Para realizamos trocas simples com sed, basta s/troca-isso/por-este/.

Pronto viram como foi simples? Nem tanto o comando acima faz algo que talvez não é o desejável, o que nos queremos e mudar TODAS as ocorrências da palavra chuchu por abacate então precisamos adicionar o parâmetro ‘g’ no final do sed ficando assim:

$ cat arquivo-sacana.txt| sed 's/chuchu/abacate/g'

Pronto agora toda vez que aparecer a palavra chuchu o sed irá mudar para abacate. Quando não executa com o parâmetro ‘g’ o sed vai apenas aplicar a mudança a primeira vez que a palavra chuchu aparecer na linha ou seja apenas na primeira ocorrências por linha.

Isso é apenas uma introdução ao uso do sed, afinal de contas é o começo da sessão sobre sed. Esse carinha é tão especial que vai ganhar até uma sessão só para ele.

[]‘s

Pagina 1 of 11
SEO Powered by Platinum SEO from Techblissonline