Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

1. Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

Kaique Nogueira Menses
kaiquenog

(usa Metamorphose)

Enviado em 12/01/2016 - 11:36h

Eae Pessoal

Preciso de um Help , estou tentando criar um arquivo em .SH para converter os arquivos de um diretório e após converter transferir para outro diretório

Estou tentando da Seguinte Forma

#!/bin/bash

# acessa diretorio com os arquivos a serem convertidos
cd /home/oracle/Documents/TESTE/

# cria lista de todos os arquivos que serao convertidos
lista = find -name '*.txt'



# executa conversao
for i in $lista
do
echo "convertendo... $i"
#iconv -f utf-8 -t iso-8859-1 $i > /home/oracle/Documents/TESTE_CONVERTIDO/$i.txt; #converter enviando a novo local
iconv -f UTF-8 -t ISO-8859-1 $i -o $i ; #converter no proprio local
done

for i in $lista
do
echo "$i" | cut -d '.txt'
mv "$i.txt-Convertido"
done


if [ $? == 0 ]
then
echo -e "\nConversao terminada com sucesso!\n"
echo -e "\n Movendo Arquivos.. \n"
mv /home/oracle/Documents/TESTE/* /home/oracle/Documents/TESTE_CONVERTIDO
echo -e "\n Execucao Terminada.. \n"
fi


como podem ver na parte de conversão tentei de duas formar converter e ja mandar para o outro diretorio e não rolou , ai tentei um pouco mais para baixo depois de converter todos os arquivos mover , sei que o MV está correto , mas o Array de arquivos não está funcionando.



  


2. RES: Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 12/01/2016 - 11:55h

Olá,
por que você repetiu o mv duas vezes?
mv mv /home/oracle/Documents/TESTE/* /home/oracle/Documents/TESTE_CONVERTIDO





---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


3. Re: Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

Kaique Nogueira Menses
kaiquenog

(usa Metamorphose)

Enviado em 12/01/2016 - 13:35h

Acho que na hora de colar aqui colei errado mesmo, já arrumei.


4. Re: Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

Renan Arantes
R3nan

(usa Debian)

Enviado em 12/01/2016 - 14:33h

retire os espaços em lista = find -name '*.txt' deixe assim lista=$(find -name '*.txt')


5. Re: Arquivo em Shell Script para Tranferencia\Conversão de Arquivos

Kaique Nogueira Menses
kaiquenog

(usa Metamorphose)

Enviado em 12/01/2016 - 16:30h

Então acabei mudando o Script , agora ele move o arquivo certinho o problema agora é que ele não converte, alguém consegue achar o erro ?

#!/bin/bash

hora=$(date +"%H:%M:%S %Z")
hoje=$(date +"%Y_%m_%d")


# acessa diretorio com os arquivos a serem convertidos
echo " Acessando Diretorio " >> /home/oracle/Documents/log_tarefa.$hoje.txt
cd /home/oracle/Documents/TESTE/


# executa conversao
for file in /home/oracle/Documents/TESTE/*.txt
do
echo "convertendo: ${file}">> /home/oracle/Documents/log_tarefa.$hoje.txt
iconv -f UTF-8 -t ISO-8859-1 ${file} -o ${file};
echo "convertido: ${file}">> /home/oracle/Documents/log_tarefa.$hoje.txt

done

echo -e "\nConversao terminada com sucesso!\n">> /home/oracle/Documents/log_tarefa.$hoje.txt
echo -e "\n Movendo Arquivos.. \n"
mv /home/oracle/Documents/TESTE/*.txt /home/oracle/Documents/TESTE_CONVERTIDO
echo -e "\n Fim.. \n"
echo -ne "[$hora] Tarefa executada.\r\n">> /home/oracle/Documents/log_tarefa.$hoje.txt


6. Resolvido - Segue.

Kaique Nogueira Menses
kaiquenog

(usa Metamorphose)

Enviado em 15/01/2016 - 08:02h

#!/bin/bash


hora=$(date +"%H:%M:%S %Z")
hoje=$(date +"%Y_%m_%d")


# acessa diretorio com os arquivos a serem convertidos
echo "***********************************************************************" >> /tmp/log/log_tarefa.$hoje.txt
echo "[$hora] Acessando Diretorio" >> /tmp/log/log_tarefa.$hoje.txt
cd /home/oracle/Documents/TESTE
#lista=$(find -name "*.txt")
lista=`find . -name "*.txt"`

# Verifica se a arquivo .txt na pasta
ls -1 *.txt
[ "$?" -ne 0 ] && echo "[$hora] Sem arquivos TXT nesse diretório! \n" >> /tmp/log/log_tarefa.$hoje.txt && exit 0


# executa conversao


for i in $lista
do
echo "[$hora] convertendo: ${i#*./}">> /tmp/log/log_tarefa.$hoje.txt
iconv -f utf-8 -t iso-8859-1 ${i#*./} -o ${i#*./} ; #converter no proprio local
echo "[$hora] convertido: ${i#*./}">> /tmp/log/log_tarefa.$hoje.txt
done


echo -e "[$hora] \nConversao terminada com sucesso!\n">> /tmp/log/log_tarefa.$hoje.txt
echo -e "[$hora] \n Movendo Arquivos..."
mv /home/oracle/Documents/TESTE/*.txt /home/oracle/Documents/TESTE_CONVERTIDO
echo -ne "[$hora] Tarefa executada.\r\n">> /tmp/log/log_tarefa.$hoje.txt
echo -e "\n Arquivos Enviados..[$hora] \n"
echo "***********************************************************************" >> /tmp/log/log_tarefa.$hoje.txt








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts