On 12/5/06, Anderson Michel <[EMAIL PROTECTED]> wrote:
> Olá Pessoal,
>
> Me desculpem pelo OFF-TOPIC, mas espero que alguém possa me ajudar!!
>
> 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.
>
> Com AWK também não consegui, porque não tem caracter limitador para as
> colunas, a menos que tenha outra maneira que também não conheço ou não
> achei no Google.
>
> Agradeço qualquer ajuda ... abraços,

grep -vE '^.{11}0022' ARQUIVO

-- 
Renato Botelho
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a