shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Sed novamente - Parte 2


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] Sed novamente - Parte 2
Date: Wed, 27 Apr 2005 09:08:04 -0300 (BRT)

Luciano Depierri, @ 08:30:

> Gentil, obrigado pela resposta, mas no meu caso a string nao é
> especifica, pode aparecer dessas formas:
[...]
> então a melhor maneira de "tentar" resolver esse caso seria a
> solução do amigo Paulo: sed 's/^.*\|//' que é limpar tudo do inicio
> da linha até o primeiro "|".

Você só está lendo a regex errado... ela quer dizer:
^  - âncora de começo de linha
.* - qualquer coisa
\| - um pipe

No caso de qualquer dessas linhas, ele vai até achar o "|", e como o
"qualquer coisa" inclui isso também, ele vai atéééééé o fim da linha.
Deveria retornar só o "x" no final, porque depois dele não tem um "|".

$ cat lixo
853   |88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
853 41|88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
853  1|88|a|b|u|v|i|j|w|x (com 2 espaços em branco

$ sed 's/^.*|//' lixo
x (com 3 espaços em branco)
x (com apenas 1 espaço em branco
x (com 2 espaços em branco

$ sed 's/[^|]*|//' lixo
88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
88|a|b|u|v|i|j|w|x (com 2 espaços em branco

E... com o programa que foi feito pra isso:

$ cut -f2- -d"|" lixo
88|a|b|u|v|i|j|w|x (com 3 espaços em branco)
88|a|b|u|v|i|j|w|x (com apenas 1 espaço em branco
88|a|b|u|v|i|j|w|x (com 2 espaços em branco

-- 
Eliphas

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]