removido
(usa Nenhuma)
Enviado em 11/07/2012 - 23:02h
Remover o "UNKNOWN" precisa de uma pequena alteração, colocando outro "sed" ao final.
Apenas se houvesse outra chave é que poderiam ser substituídos.
Só se houver algo que possa preencher.
Quanto ao caso de se apagar os "UNKNOWN" aviso que deve-se pensar bem em qual será o critério.
São muitas as linhas quw poderiam ser apagadas apenas por ter algum conteúdo com isto.
Isto se for o caso de deixar alguma.
Eliminar todas em que haja ao menos uma ocorrência é mais fácil.
Depois do "while" seria o caso de se colocar isto aqui dentro do script:
sed "/UNKNOWN/d" -i arquivo3.csv
Mas aviso que seriam eliminadas quase umas 6000 linhas.
Pode comparar o antes (arquivo1.csv) e o depois (arquivo3.csv ao final de como o script o deixou até este ponto da postagem) que eles devem possuir o mesmo número de linhas.
wc -l arquivo1.csv
e
wc -l arquivo3.csv
Dará ***o mesmo*** resultado.
Depois de
sed "/UNKNOWN/d" -i arquivo3.csv
verificando-se o número de linhas com
wc -l arquivo3.csv
percebe-se que faltarão umas 6000 linhas quase.
Não há problema se arquivo3.csv sofrer alguma modificação ingrata.
arquivo1.csv foi preservado e é só rodar o script de novo.
****
Outra coisa: há uma diferença entre Unix e MSDOS quando se trata de arquivos que contenham texto como esse aí, ou qualquer conteúdo semelhante, seja um script, csh, html, xml etc.
No DOS o final de linha é marcado por dois caracteres chamados aqui de "\r" e "\n".
No Unix o final de linha é marcado apenas pelo "\n".
"\n" é aquele mesmo que aparece em linguagem C.
Prá converter texto de Unix para DOS, retira-se o "\r", ou seja, substituir "\r" e "\n" por "\n".
Prá converter texto de Unix para DOS, coloca-se-se o "\r", ou seja, substituir "\n" por "\r" e "\n".
Tem um terceiro sistema em que aparece apenas o "\r" mas não convém no momento.
****
O caso é que eu eliminei uma meia-dúzia de "\r" perdidos na cópia dos arquivos.
Eles estão como texto de Unix no momento.
Só ficará estranho se um dos arquivo tentar ser aberto em ***editor de texto*** tipo o bloco de notas do win.
Programas que suportem ambos os formatos de texto não terão problema.