shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [shell-script] Re: Find


From: MrBiTs
Subject: RE: [shell-script] Re: Find
Date: Tue, 21 Jun 2005 17:53:17 -0300

/*
O script é o seguinte:

#!/bin/sh

DIR="/diretorio/scripts"
TXT="${DIR}/backup.txt"

cat ${TXT} | while read LINHA; do
  
  param1=`echo ${LINHA} | cut -d'|' -f1`
  param2=`echo ${LINHA} | cut -d'|' -f2`
  param3=`echo ${LINHA} | cut -d'|' -f3`
  param4=`echo ${LINHA} | cut -d'|' -f4`
  
  find ${param1} -name \"${param2}\" -mtime +${param3} -exec ${param4} \\\;
  
done


*/

De novo

Coloque um set -x depois do #!/bin/bash e veja as saidas
Outra coisa que voce deve atentar ( me corrijam se eu estiver errado ) é que
quando voce utiliza
#!/bin/sh que, nas distribuicoes mais novas, é um symlink para /bin/bash,
existe a tendencia do bash "emular" o bourne shell ( sh ), e ai algumas
construcoes podem nao funcionar. 

Além disso, está faltando o escopo no -exec e há duas barras a mais.

find parametros -exec comando {} \;

Outras modificacoes que vc pode fazer:

#!/bin/sh

DIR="/diretorio/scripts"
TXT="${DIR}/backup.txt"

OldIFS=$IFS
IFS=|

while read PARAM1 PARAM2 PARAM3 PARAM4
        find....
done < $TXT

Utilizando o IFS como o seu separador de campo, vc economiza essas chamadas
ao cut





reply via email to

[Prev in Thread] Current Thread [Next in Thread]