|
From: | Ernander (Nander) |
Subject: | Re: [shell-script] Quem me explica ? sed |
Date: | Thu, 7 Nov 2013 12:13:27 -0200 |
EPA!!!! Quero fazer uma observação aí! Não confunda uma coisa com a outra! Neste caso as barras não são sepadores, nessa caso são delimiradores de ER, isto é, servem para dizer onde termina a ER (que estava na variável $item) e começa o comando (que neste caso era o d).» No primeiro caso, isto é, qdo tratamos separadores (p.ex. no cmd "s" e no cmd "y') o primeiro caractere, qq que seja ele, que seguir o cmd será considerado separador. Exs:$ sed 'svavXvgi' <<<asdASDaaaAAAXsdXSDXXXXXXNeste caso usei v como separador, para trocar todas (g) as letras a, maiúsculas e minúsculas (i) por X$ sed 'y^OIZEASGTBQ^0123456789^' <<< INCONSTITUCIONALISSIMAMENTE1NC0N5717UC10N4L1551M4M3N73Para executar o cmd y, usei o circunflexo como separador, sem nenhum problema.Mas veja só o que vem a seguir::$ sed -n '/UNIX/p' quequeissoO Shell alem de analisar cada dado entrado a partir do prompt do UNIX,Controle do ambiente UNIX;$ sed -n '-UNIX-p' quequeissosed: invalid option -- 'U'Uso: sed [OPÇÃO]... {script-apenas-se-for-único} [arquivo-entrada]...............................................Site do GNU sed: <http://www.gnu.org/software/sed/>.Ajuda sobre softwares GNU: <http://www.gnu.org/gethelp/>.$ sed -n '\-UNIX-p' quequeissoO Shell alem de analisar cada dado entrado a partir do prompt do UNIX,Controle do ambiente UNIX;Agora, qdo usado como delimitador de ER a barra funcionou e o hífen não. Para substituir a barra por qq outro delimitador, é necessário (e obrigatório) que o primeiro deles seja "escapado". Isso é muito interessante e pouco conhecido.OBS: Os pontos foram colocados para substituir o enorme texto gerado pelo erro.Abcs,Julio
@juliobashEm 7 de novembro de 2013 12:35, miranda <address@hidden> escreveu:
Pois é , esqueci de colocar o separador .
Valeu
On Thu, 2013-11-07 at 08:52 -0200, Ernander (Nander) wrote:
o Sed pode usar outros Separadores além do /, ex @, # etc...
Pelo que vi seu Script para o PARAMETRO $item e seu sed tem o SEPARADOR $ ( creio que o $ seria o pior Separador em se tratando de script)
tente fazer seu Sed assim :
TensaZangetsu /tmp $ cat lista
tomcat6
tomcat6-relatorio
TensaZangetsu /tmp $ item="tomcat6"; sed "/$item/d" lista # USANDO / como Separador
TensaZangetsu /tmp $
Abraços
Att
Ernander Marcus Lataliza RosendoCertified SonicWall Security Administrator
Em 7 de novembro de 2013 08:26, miranda <address@hidden> escreveu:Pessoal , estava querendo usar sed
para remover um item de uma lista
que está em um arquivo.
Fiz o que mostro abaixo e obtive
um erro inesperado.
Alguém pode me explicar e , se quiser,
propor uma solução utilizando sed ?
[root@guitar run]# echo $item
tomcat6
[root@guitar run]# cat /tmp/lista
1 tomcat6
2 tomcat6-relatorio
[root@guitar run]# sed "$item$d" /tmp/lista
sed: can't find label for jump to `omcat6'
[Prev in Thread] Current Thread [Next in Thread]
- Quem me explica ? sed, miranda, 2013/11/07
- Re: [shell-script] Quem me explica ? sed, Ernander (Nander), 2013/11/07
- Re: [shell-script] Quem me explica ? sed, miranda, 2013/11/07
- Re: [shell-script] Quem me explica ? sed, Julio C. Neves, 2013/11/07
- Re: [shell-script] Quem me explica ? sed, Ernander (Nander) <=
- Re: [shell-script] Quem me explica ? sed, Julio C. Neves, 2013/11/07
Re: [shell-script] Quem me explica ? sed, miranda, 2013/11/07
- Prev by Date: Re: [shell-script] Quem me explica ? sed
- Next by Date: Re: [shell-script] Quem me explica ? sed
- Previous by thread: Re: [shell-script] Quem me explica ? sed
- Next by thread: Re: [shell-script] Quem me explica ? sed
- Index(es):