現在のディレクトリにある gz タイプのファイルのみを FTP する Bash スクリプト

現在のディレクトリにある gz タイプのファイルのみを FTP する Bash スクリプト

以下のように、正しいディレクトリに cd し、mput コマンドを使用してディレクトリ内のすべてのファイルをリモート サーバーに ftp する bash スクリプトがあります。

for from_dir in $DATE_LIST 
do
    cd ${FILE_LANDING_DIR}/deltas/${from_dir}
    ftp_files
done

ftp_files () {
    ftp -inv $HOST <<-EOF > $LOG_DIR/tempftplog
    user $USER $PASS 
    cd ${ID_LANDING_DIR}
    mput *
    bye 
    EOF
} 

.gz行を から に変更して、ftp_files 関数を変更してそのディレクトリ内のファイルmput *のみを ftp するように試みましたがmput *.gz、うまくいきませんでした。

ftp コマンドでこれを一度だけ実行する方法を教えていただけますか?

答え1

動作しませんかmput *.gz? そうでない場合は、まず ftpglobコマンドを試してください。

http://man.cx/ftp

答え2

ディレクトリ検索を実行してそれを mput にパイプするのはどうでしょうか?

ls *.gz | mput

私は Linux ボックスを使用していないため、これを今すぐテストすることはできません。したがって、100% 正しく動作させるには調整が必要になる可能性があります。

関連情報