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

Re: posso fazer um search/replace por mascara no vim ou na linha de comando ?



Tá certo que o que não ABUNDA, não espalha (ou algo parecido).
Mas já tá bom pessoal. Já deu para criar um miniscript :
#!/bin/bash
ARQUIVO=$1
sed -e 's/\(X-Mozilla-Status:\)\ \(.\{4\}\)/\1\ 0000/' $ARQUIVO >$ARQUIVO.fix.1
sed -e 's/\(X-Mozilla-Status:\)\ \(.\{8\}\)/\1\ 00000000/' $ARQUIVO.fix.1 >$ARQUIVO.fix.2
mv $ARQUIVO $ARQUIVO.ori
mv $ARQUIVO.fix.2 $ARQUIVO

[ -f $ARQUIVO.fix.1 ] rm -f $ARQUIVO.fix.1
[ -f $ARQUIVO.fix.2 ] rm -f $ARQUIVO.fix.2
[ -f $ARQUIVO.msf ] rm -f $ARQUIVO.msf

Agora já estou no caminho de casa :)

[]'s  a todos.


2008/6/13 Allison Vollmann <allisonvoll@yahoo.com.br>:
se for usar o sed e for alterar todos os arquivos do diretório ao invés de usar o find da para fazer direto

$ sed -e 's/\(X-Mozilla-Status:\)\ \(.\{4\}\)/\1\ 0000/' $(ls)

ou se tiver algum padrão no nome dos arquivos usa outra er simples auhsuahsuahu

sed -e 's/\(X-Mozilla-Status:\)\ \(.\{4\}\)/\1\ 1111/' $(ls | egrep ".txt$" )


Rafael Gomes Dantas escreveu:
Eu ia propor algo parecido agora! XD

On Fri, Jun 13, 2008 at 10:53 AM, Marcos Trazzini <mstrazzini@gmail.com> wrote:
(...)
> :%s/X-Mozilla-Status: .\{4\}/X-Mozilla-Status: 0000/g
>
Ou para ser um pouco mais flexível:

$ sed -e 's/\(X-Mozilla-Status:\)\ \(.\{4\}\)/\1\ 0000/' arquivo

Dá pra usar o find para "encontrar" (lógico, o que mais o find faria?)
os arquivos e usar o "-exec" do find para chamar o sed e substituir
tudo sem ter que abrir arquivo por arquivo.

Inté

--
Marcos S. Trazzini => mstrazzini@gmail.com


--
To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



-- To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: