[FUG-BR] [OFF-TOPIC] Ajuda com SED ou AWK

Brenno Oliveira sr.free em gmail.com
Terça Dezembro 5 22:36:28 BRST 2006


> Tenho que remover as linhas que contenham "0022" que estejam na posição
> 12 como exemplo do seguinte lay-out de um arquivo:
>
> 040671744010001000381015117110608240000 - linha 1
> 040671744020001000381015117110608240000 - linha 2
> 020673054750022000382111017110600000042 - linha 3
> 010673054800022000388111017110600000042 - linha 4
> 010681574440022002629111017110600000043 - linha 5
> 030673054810003000389111017110600000022 - linha 6
> 010673054810003000389111017110600000022 - linha 7
>             ^^^^
>             Coluna p/ referência são somente estes 4 caracteres!
>
> sed -e '/0022/d' /path/arquivo_exemplo
>
> No comando acima, só me retorna a linha 1 e 2, porque também tem "0022"
> no final da linha 6 e 7.
>
> Preciso de uma maneira que delete somente as linhas 3, 4 e 5 (que são as
> que tem "0022" na posição desejada). Tem como fazer isso com SED??
>
> Estou procurando sobre expressões regulares para tentar uma maneira de
> fazer isso, mas ainda não achei.

boa noite andré,
essa expressão acredito que funcione =)
grep "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]0022"

[]'z


Mais detalhes sobre a lista de discussão freebsd