Cara, bacana demais! Show de bola! Funcionou 100%!!!
Muito obrigado Jimmy!
Abs.
Victor
2008/10/1 jimmy <[EMAIL PROTECTED]>
> corrigindo o script:
>
> #!/usr/bin/sed -nf
>
>
> /^INSERT/{
> s/INSERT INTO.*tabela/INSERT INTO tabela/;
> w insert.sql
> }
> /\(^UPDATE\|^DELETE\|^CREATE\)/{
> w not_
corrigindo o script:
#!/usr/bin/sed -nf
/^INSERT/{
s/INSERT INTO.*tabela/INSERT INTO tabela/;
w insert.sql
}
/\(^UPDATE\|^DELETE\|^CREATE\)/{
w not_insert.sql
}
On Wed, Oct 01, 2008 at 10:05:31AM -0300, jimmy wrote:
> acho que fica mais fácil agora criar um script para isso
>
> /^INSERT
Victor,
Usa o sed para fazer essa substituição antes de gravar no arquivo:
p.ex.:
echo The lion group will meet on Tuesday after school | sed
's/lion/eagle/; s/after/before/'
The eagle group will meet on Tuesday before school
[]'s
Pablo
2008/10/1 Victor LGomes <[EMAIL PROTECTED]>:
> Muito lega
acho que fica mais fácil agora criar um script para isso
/^INSERT/{
s/INSERT INTO.*tabela/INSERT INTO tabela/;
w insert.sql
}
/\(^UPDATE\|^DELETE\|^CREATE\)/{
w not_insert.sql
}
entre as chaves você pode inserir mais comandos se
necessário.
dê permissão de execução de execute com:
./scrip
Muito legal isso!!! Preciso estudar muito mais!!!
Aproveitando um pouco da sua boa vontade, eu consigo fazer uma substituição
nas linhas de INSERT antes de enviá-las para o arquivo "insert.sql" ? Por
exemplo, dá pra colocar a substituição abaixo no comando para enviar para o
arquivo os dados já mo
2008/9/30 Victor LGomes <[EMAIL PROTECTED]>
> Bom dia galera!
>
> Estou com um problema aqui que não sei como resolver (e nem se há uma forma
> de resovê-lo como estou querendo).
>
> Tenho que filtrar um arquivo de log do banco de dados MySQL e criar um
> arquivo contendo os comandos de INSERT em
$ awk '{ if ($0 ~ /INSERT INTO banco.tabela/){ print > "insert.sql"}
else { if ($0 ~ /(^UPDATE|^DELETE|^CREATE)/){ print >
"not_insert.sql"}}}' arquivo-de.log
ou
$ sed -ne '/INSERT INTO banco.tabela/W insert.sql' -ne
'/\(^UPDATE\|^DELETE\|^CREATE\)/W not_insert.sql' arquivo-de.log
On
Da uma fuçada no "ed", provavelmente ele tem a solução..
Depois vou fazer uns testes tambem..
--
Flávio do Carmo Júnior aka waKKu
2008/9/30 Victor LGomes <[EMAIL PROTECTED]>:
> Por exemplo,
>
> hoje eu faço assim:
>
> mysqlbinlog arquivo-de.log | grep -E "INSERT INTO banco.tabela .*" >
> log-in
Por exemplo,
hoje eu faço assim:
mysqlbinlog arquivo-de.log | grep -E "INSERT INTO banco.tabela .*" >
log-insert.txt
mysqlbinlog arquivo-de.log | grep -E "^UPDATE .*|^DELETE .*|^CREATE .*" >
log-outros.txt
Como vocês podem ver, dessa forma, sou obrigado a abrir duas vezes o arquivo
de log para
Pelo que entendi, é isso que ele está fazendo, mas ele gostaria de
varrer o log uma vez só. Talvez um sed ou awk que avaliasse linha a
linha e jogasse o resultado pro arquivo certo?
Breno.
--
2008/9/30 Eri Ramos Bastos <[EMAIL PROTECTED]>:
> Se os inserts estão em linhas separadas dos outros
teria um exemplo?
On Tue, Sep 30, 2008 at 10:02:59AM -0300, Victor LGomes wrote:
> Bom dia galera!
>
> Estou com um problema aqui que não sei como resolver (e nem se há uma forma
> de resovê-lo como estou querendo).
>
> Tenho que filtrar um arquivo de log do banco de dados MySQL e criar um
> ar
Se os inserts estão em linhas separadas dos outros comandos, uma idéia
seria:
grep INSERT log.txt > inserts.sql
grep -v INSERT log.txt > resto.sql
[]'s
Eri
2008/9/30 Victor LGomes <[EMAIL PROTECTED]>
> Bom dia galera!
>
> Estou com um problema aqui que não sei como resolver (e nem se há uma for
12 matches
Mail list logo