Não é possível mover arquivos com SFTP

0

Estou tentando mover arquivos de um local para outro no servidor remoto usando o sftp abaixo:

for i in a b c d
do
sftp $REMUSR <<EOM>>$OUT 2>&1
rename $SOURDIR/sample_${i}_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz $REMDIR
quit
EOM
:
:
done

Mas recebo a mensagem:

Couldn't rename file "/source/sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz" to "/destin/": No such file or directory

Embora este arquivo exista no diretório /source que eu verifiquei:

$ ls -l sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz
-rw-r--r--  1 prd admin 112 May 23 09:16 sample_a_20140330.gz
    
por user68112 23.05.2014 / 07:07

1 resposta

1

O comando rename do FTP não calcula expressões regulares. Ele interpreta o regex como nome de arquivo que não está presente no sistema. Você está usando sftp . Outra abordagem é usar ssh :

for i in a b c d
do
  ssh $user@$host "mv $SOURDIR/sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].gz $REMDIR"
done
    
por 23.05.2014 / 08:24