[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] sed ou grep?
From: |
Julio Cezar Neves - DISB.O |
Subject: |
RES: [shell-script] sed ou grep? |
Date: |
Thu, 20 Jul 2000 16:23:07 -0300 |
> ----- Mensagem original -----
> De: Renato Alvim [SMTP:address@hidden]
> Enviada em: quinta-feira, 20 de julho de 2000 15:34
> Para: address@hidden
> Assunto: Re: [shell-script] sed ou grep?
>
> Muitissimo obrigado!
> Ser-me-a de grande valia sua ajuda.
> Mas, incomodando de novo, nunca usei o awk.
> Como ele funciona?
>
Agora não ser-te-ei (se usar mais um destes, sentir-me-ei o rei da
mesóclise ;)) de tão grande valia, já que o awk por ser uma linguagem
interpretada, bastante parecida com o C, necessita de muito tempo e espaço
para explicá-la. Caberia até abrir uma outra lista só para o tema
"programação em awk".
Mas, já te adiantando, seria algo mais ou menos assim: o awk está
para o C, assim como o JavaScript está para o Java.
> Posso usar o man awk?(Vou tentar).
>
Pode sim Renato, mas se a tua leitura de Inglês é boa, aconselho-te
a participar das listas de discussões sobre o awk que abundam (ops!) na
rede, ou esperar na 1ª quinzena de agosto um livro da Editora Bras... :)
> []'s
> Renato Alvim
>
Abraços tb,
Julio
> ----- Original Message -----
> From: Julio Cezar Neves - DISB.O <address@hidden>
> To: <address@hidden>
> Sent: Thursday, July 20, 2000 1:27 PM
> Subject: RES: [shell-script] sed ou grep?
>
>
> : Vc pode fazer isso por sed, grep (com a opção -v) ou preferencialmente
> por
> : awk. Basta ter uma característica que seja única na linha que vc deseja
> : deletar e montar uma expressão regular. P.ex. digamos q vc queira
> deletar
> : todas as linhas começadas por um comentário (#) do .xinitrc. Usando o
> grep e
> : o sed, como vc sugeriu, ficaria:
> :
> : sed '/^#/d' .xinitrc > /tmp/xinitrc ; mv /tmp/xinitrc .xinitrc
> : ou
> : grep -v '^#' .xinitrc > /tmp/xinitrc ; mv /tmp/xinitrc .xinitrc
> :
> : O awk foi escrito para substituir o grep e o sed, portanto, normalmente,
> seu
> : uso nestes casos é + indicado.
> :
> : []s,
> : Julio
> :
>
From (no email address) Thu Jul 20 18:36:46 2000
Return-Path: <address@hidden>
Received: (qmail 5545 invoked from network); 21 Jul 2000 01:36:46 -0000
Received: from unknown (10.1.10.142) by m1.onelist.org with QMQP; 21 Jul 2000
01:36:46 -0000
Received: from unknown (HELO burns.conectiva) (200.250.58.146) by mta1 with
SMTP; 21 Jul 2000 01:36:45 -0000
Received: (qmail 7553 invoked from network); 21 Jul 2000 01:38:45 -0000
Received: from verde.distro.conectiva (10.0.17.77) by burns.conectiva with
SMTP; 21 Jul 2000 01:38:45 -0000
Date: Thu, 20 Jul 2000 22:38:34 -0300 (BRT)
X-Sender: aurelio@verde.distro.conectiva
To: address@hidden
Subject: Re: RES: [shell-script] sed ou grep?
In-Reply-To: <318B242CE32BD41192850050DA6BA9985DFB86@WTRJO077>
Message-ID: <Pine.LNX.4.21.0007202225170.952-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>
@ 20/7, Julio Cezar Neves - DISB.O:
> Vc pode fazer isso por sed, grep (com a opção -v) ou preferencialmente por
> awk. Basta ter uma característica que seja única na linha que vc deseja
> deletar e montar uma expressão regular. P.ex. digamos q vc queira deletar
> todas as linhas começadas por um comentário (#) do .xinitrc. Usando o grep e
> o sed, como vc sugeriu, ficaria:
>
> sed '/^#/d' .xinitrc > /tmp/xinitrc ; mv /tmp/xinitrc .xinitrc
> ou
> grep -v '^#' .xinitrc > /tmp/xinitrc ; mv /tmp/xinitrc .xinitrc
com este mv você perde todas as propriedades do arquivo original
(permissões, possíveis links)
para evitar isso, o mais seguro é
cp arquivo arquivo.tmp
sed 'comando' arquivo.tmp > arquivo
rm arquivo.tmp
> O awk foi escrito para substituir o grep e o sed, portanto, normalmente, seu
> uso nestes casos é + indicado.
você tem certeza?
awk, sed e grep são coisas totalmente diferentes.
ambos manipulam textos, mas
grep: procura padrões num texto
sed : edita um texto de maneira não interativa
awk : linguagem de programação, com variáveis e estruturas de
fluxo, direcionada à manipulação de texto
cada um serve praum propósito diferente...
--
s/:(/>(/×^a]×http://www.verde666.org×^[:wq