SFTPを使用してファイルを移動できない

SFTPを使用してファイルを移動できない

以下のsftpを使用して、リモートサーバーのある場所から別の場所にファイルを移動しようとしています。

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

しかし、次のようなメッセージを受け取りました。

'/source/sample_a_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ファイルの名前を変更できますありません。 gz"から"/destin/"へ:対応するファイルやディレクトリはありません。

このファイルは/source私が確認したディレクトリにありますが:

$ 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

答え1

FTP の名前変更コマンドは正規表現を評価しません。正規表現をシステムに存在しないファイル名として解釈します。あなたはを使用していますsftp。別の方法は、次のものを使用することです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

関連情報