Apagando colunas usando expressões regulares

Publicado por raphael em 25/09/2003

[ Hits: 12.047 ]

 


Apagando colunas usando expressões regulares



Este desafio circulou na lista sed-br. Imagine um arquivo assim:

1754 choice.com
54645 command.com
13 config.sys
26936 country.sys
5241 country.tx_

Para apagar a coluna de números e deixar a de nomes intacta, pode-se usar uma infinidade de processos. Como diz Larry Wall, criador da Linguagem Perl, "there's more than one way to do it, and all of them are correct" [há mais de uma maneira de fazer isso, e todas estão corretas]. Para fazer manualmente, teríamos de, linha por linha, digitar sete vezes a tecla Del.

A resposta de Rodrigo Bernardo Pimentel foi assim:

# cat arquivo | sed `s/^.\{7\}//'

Já Eliphas Levy Theodoro mandou esta solução:

Dentro do vi:

:%s/[0-9]\+//

Isso apaga só os números, deixa os espaços e tabulações.

:%s/.*[^I]//

Isso apaga até o último espaço ou tabulação em cada linha.

Na linha de comando, usando o sed, é a mesma sintaxe, mas sem o :% no início.

Para assinar a lista sed-br, basta enviar um e-mail vazio para o endereço sed-br-subscribe@eGroups.com . Vale a pena, a lista é de alto nível.

Outras dicas deste autor

Cuidados de segurança com o PHP

Leitura recomendada

Resolvendo o REDIRECT_TO do Rails em HTTPS

Monitoração Web com Perl

Solaris - Criando repositório de Módulos Perl com usuário normal

Adicionando mais núcleos ao Conky do CrunchBang

Firefox - Script para empacotamento e instalação ao modo Debian

  

Comentários
[1] Comentário enviado por fabio em 25/09/2003 - 23:34h

Lá vai outro modo, mas sem o uso de expressões regulares:

$ cut -f2 -d' ' arquivo.txt

[2] Comentário enviado por profetas em 14/01/2005 - 19:50h

Nosso Amigo deve ter confundido as Linguagens. por que eu nao vejo Perl ai, a menos que o author pense que o criador de Regex e o mesmo de Perl.
erroneamente

[3] Comentário enviado por marciliomoura em 25/05/2007 - 22:36h

awk '{print $2}' arq.txt



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts