Mostrando espaço em branco

1. Mostrando espaço em branco

Muriel Spaler
MurielSpaler74

(usa Outra)

Enviado em 13/04/2011 - 12:17h

Bom dia pessoal, sou novo aqui e também sou novo em shell script,e estou passando por um apuro grande.

Na empresa onde trabalho existem usuários que criam alguns arquivos que complementam outros arquivos que já existem, porem se esse novo arquivo conter espaço,
fará que os que já existem de erro.
Então eu tenho que criar um script que leia os arquivos que estão dentro de uma pasta (tmp) se não conter espaço após o segundo ( | ) , copie para a pasta final.

Se conter espaço depois do Segundo PipeLine ( | ), copie o arquivo para o mesmo nome com final *.aux, substituindo o espaço por @@@@@@ , envie um e-mail para (teste@teste.com – dizendo que existe um arquivo com erro.)

O script que estou criando é esse, mas não estou conseguindo finalizá-lo, se alguém puder me ajudar a finalizá-lo, ficarei muito agradecido.
Atenciosamente

#!/bin/ksh
clear


if (ls -l /aplic/ITAD/tmp/checaMenu/*.menu);then

if (cat /aplic/ITAD/tmp/checaMenu/*.menu| sed 's/ /@@@@@@@@@@@@/g' >> /aplic/ITAD/tmp/checaMenu/*.menu.aux);then

exec 3</aplic/ITAD/tmp/checaMenu/*.menu.aux
while read -u3 LINHA
do
AUX=${LINHA#*|*|}

if (echo $AUX);then
echo ""
echo ""
echo "************************************"
echo "**AAtenção: ARQUIVO COM PROBLEMAS **"
echo "************************************"
echo ""
echo ""
cat *.menu.aux
echo ""
echo ""
echo "************************************"
echo "** Atenção: ARQUIVO COM PROBLEMAS **"
echo "************************************"
echo ""
echo ""
else
echo "************************************"
echo "** Arquivo enviado com sucesso!!! **"
#echo "mv /aplic/ITAD/tmp/checaMenu/*.menu /aplic/ITAD/apps/*.menu "
echo "************************************"
fi

# echo $LINHA
# echo $AUX
# sleep 2
# sleep 2
# echo "##############"
done
exec 3>&-


else
echo "********************************************"
echo "** XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *.menu **"
echo "********************************************"
fi

else

echo "********************************************"
echo "********************************************"
echo "** " echo "** Nao foram encontrados arquivos *.menu **"
echo "** **"
echo "********************************************"
echo "********************************************"
fi




  


2. Re: Mostrando espaço em branco

Daniel Fernandes
volcom

(usa Debian)

Enviado em 13/04/2011 - 13:22h

E se ao invés de alterar o arquivo e enviar um e-mail, vc não corrige o arquivo removendo os espaços e continuando o processo de cópia?

Não sei se a finalidade é realmente receber esses e-mails, mas se não for, altere:

sed 's/ /@@@@@@@@@@@@/g'

Para

sed 's/ //g'

E continue a cópia dos arquivos.

Dessa forma você remove os espaços do arquivo.


3. Re: Mostrando espaço em branco

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 13/04/2011 - 14:44h

Não entendo muito de shel script, mas um tutorial muito bom que vi é esse.

http://jneves.wordpress.com/2008/03/05/papo-de-botequim-parte-1/

espero ajudar.

Só uma questão. Já tentou mudar o shell usado de ksh para bash ou sh?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts