msoliver
(usa Debian)
Enviado em 22/05/2016 - 22:27h
K3LV!N escreveu:
moliver, aparentemente é para dar certo mesmo, mas esta dizendo que a expressão do sed esta irregular, deve ser algum erro bobo que não estou percebendo, alguma sintaxe errada
while IFS=$'\n' read -r sitesproprios;do
lynx -justify -nolist -nomargins -nonumbers -dump "$siteproprio" > "$siteproprio".txt #REALIZA O DUMP DO CONTEÚDO DO SITE
cat $siteproprio.txt | sed -i 's/[^[:alpha:] [:digit:] ]//g' > $siteproprio1.txt #DEIXA ALFA NUMÉRICOS
cat $siteproprio1.txt | sed -i 's/\([a-z]\)/\L&/g' > $siteproprio2.txt # TRANSFORMA TUDO EM MINUSCULA
cat $siteproprio2.txt | sed -i 's/^$/d' > $siteproprio3.txt #REMOVE CARACTERES EM BRANCO
cat $siteproprio3.txt | sed -i 's/[^[:punct:]//g' > $siteproprio4.txt #REMOVE SINAIS DE PONTUAÇÃO
#-------- SALVANDO A BASE .arff --------#
echo -e "@relation conteudoimproprios\n@attribute palavras {própria,impropria}
@attribute text String\n\n\n@data\npropria, $(cat "$siteproprio4".txt)" >> BaseDados.arff
done<sitesproprios.txt
Outra dúvida: eu consigo fazer todos esses comandos em um único arquivo utilizando pipe? ( | ) > $unicoarquivo.txt
Resultado da saída do comando
sed: nenhum arquivo de entrada => SINTAXE ERRADA, VEJA O QUE FAZ O "-i"
sed: nenhum arquivo de entrada => SINTAXE ERRADA
sed: -e expressão #1, caractere 6: comando `s' não terminado
sed: -e expressão #1, caractere 16: comando `s' não terminado
sed: nenhum arquivo de entrada => SINTAXE ERRADA
sed: nenhum arquivo de entrada => SINTAXE ERRADA
sed: -e expressão #1, caractere 6: comando `s' não terminado
sed: -e expressão #1, caractere 16: comando `s' não terminado
------------------
(program exited with code: 0)
Press return to continue
Desde já, agradeço a todos que estão contribuindo.
--------------------------------------------------------------------------
Boa noite, K3LV!N.
É um ERRO BOBO MESMO... rsrsrsr
cat
ARQUIVO01 | sed -i 's/ISTO//g' >
ARQUIVO02 # => O
sed -i ALTERA o PRÓPRIO ARQUIVO DE ENTRADA, desde que a ENTRADA não ocorra VIA PIPE.
Outra dúvida:
Consigo fazer todos esses comandos em um único arquivo utilizando pipe? ( | ) > $unicoarquivo.txt
SIM! Faça:
lynx -justify -nolist -nomargins -nonumbers -dump "$siteproprio" |
COMANDO SED |
COMANDO SED|
COMANDO SED > "$siteproprio".txt
Quanto aos COMANDOS SED:
sed -i 's/[^[:alpha:] [:digit:] ]//g' $siteproprio.txt #
O MESMO QUE "sed 's/[[:punct:]]//g'"
sed -i 's/\([a-z]\)/\L&/g' $siteproprio.txt # ERRADO!
"CASA" MINUSCULA E ALTERA P/ MINUSCULA . . .
CORRETO => echo "VIVA O LINUX"|sed -r 's/([A-Z])/\L&/g'
sed -i 's/^$/d' $siteproprio.txt #
REMOVE LINHA EM BRANCO
sed -i 's/[^[:punct:]//g' $siteproprio4.txt #REMOVE SINAIS DE PONTUAÇÃO => expressão errada "[^[:punct:]" => CORRETO "[[:punct:]]"
OBS:
Pode agrupar os comandos SED de SUBSTITUIÇãO, assim:
lynx -justify -nolist -nomargins -nonumbers -dump "$siteproprio" | sed 's/\([A-Z]\)/\L&/g;s/[[:punct:]]//g' > $siteproprio.txt
att.:
marcelo oliver