• 締切済み

Solaris系FTPシェルについて

Solaris6or7系でFTPシェルでファイルリストから連続してダウンロードしたいと思っていますが、 シェル初心者で、ファイルからの読み込み、ループ処理など何を考慮しシェル化すれば困っています。ご教授お願い致します。 #!/bin/sh cd /ファイル保存ディレクトリ ftp -n << EOF !echo start open ダウンロードサーバ user ユーザー パスワード mput ファイルリスト     aaaaa bbbbb ccccc       :       :     数千ファイル  !echo end bye EOF 条件として ・ファイル保存先にはリストのすべてのファイルが存在する ・リスト内のファイルは重複なし ・拡張子はすべて同じもの(実際はUNIX識別番号などです) ・ファイル及び転送先ディスクの容量は考慮しない 以上よろしくお願いします

みんなの回答

  • GB99
  • ベストアンサー率0% (0/0)
回答No.2

wget で実現できそうですね。 参考まで ノシ

回答No.1

putしたいファイル名が記述してあるファイルあり そのファイルの通りに、全てのファイルをputしたいとことですよね。 ftpを実行するシェル自体を生成するシェルを作ればよいのでは? #!/bin/sh echo "open ~ "> ftpbatch.$$ echo "user ~ ~ ">> ftpbatch.$$ while read aa do echo "put $aa" >> ftpbatch.$$ done < ファイルリストファイル名 echo bye >> ftpbatch.$$ echo start ftp -n < ftpbatch.$$ echo end rm ftpbatch.$$

関連するQ&A

  • シェルスクリプトで・・・

    シェルスクリプトで・・・ 下記のファイル内にある "yy:mm:dd" 部分を "finish - start" として "aaaaaa" "bbbbbb" "cccccc" ・・・を秒単位で抽出させたいと考えています。 □ ファイル 2010-09-01 08:19:10 aaaaa : start. 2010-09-01 08:19:28 aaaaa : finish. 2010-09-01 08:19:28 bbbbb : start. 2010-09-01 08:30:07 bbbbb : finish. 2010-09-01 08:30:11 ccccc : start. 2010-09-01 08:43:45 ccccc : finish. ・・・・・・・・・・・・・・・・・(ry □ 結果のイメージはこうです。 aaaaaa 17 bbbbb 639 ccccc 814 環境は、centos5 を使っております。 どなたかご教授おねがいします。

  • 連想配列を変数にする?

    こんにちは。 質問タイトルが変かもしれません。。。 xmlから受け取ったデータをphpで表示してます。 ・・・xmlデータの受取(?)は他社にお願いしており、私はphpでの表示のみなのでデータそのものは分かりません。 [aaaaa][bbbbb][ccccc][ddddd][depday] [aaaaa][bbbbb][ccccc][ddddd][cityname] [aaaaa][bbbbb][ccccc][ddddd][b][depday] [aaaaa][bbbbb][ccccc][ddddd][b][cityname] のように非常に長い連想配列があり、一番最後の[depday]と[cityname]は常に同じです。あまりにも長いので $hairetsu_1 = [aaaaa][bbbbb][ccccc][ddddd]; echo $hairetsu_1[depday]; echo $hairetsu_1[cityname]; $hairetsu_2 = [aaaaa][bbbbb][ccccc][ddddd][b]; echo $hairetsu_2[depday]; echo $hairetsu_2[cityname]; のように表示させる事は出来るのでしょうか? とんちんかんな質問だったらお許しください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • shシェルスクリプト 空白行の入れ方

    TEST_STRING=" aaaaa bbbbb ccccc ddddd eeeee " echo "Result:" echo "$TEST_STRING" | grep ccccc 出力 ---------- Result: ccccc ---------- 上記のコードの 出力結果の前後に改行をいれたいのですが、いい方法はありませんか? 同様の該当コードが大量にあるため、 できるだけシンプルな方法を教えていただけないでしょうか? よろしくお願い致します。 期待する出力 ---------- Result: ccccc ----------

  • ファイルを移動するためのバッチファイル

    テキストファイル(1行に1つのファイル名が書かれていて、ファイルの数だけの行があるテキスト)を読み込み それをもとに、パス指定した参照先ディレクトリより、1つずつファイルを取得し、 パス指定した保存先ディレクトリに保存していくという、ファイルを移動(コピー)するためのバッチファイルを作りたいのですが どのようなコマンドを記述すればよいでしょうか? (できれば、MS-DOSのバッチファイルだと助かります) 例 [list.txt] aaaaa bbbbb eeeee [参照先] aaaaa bbbbb ccccc ddddd eeeee ↓ [保存先] aaaaa bbbbb eeeee

  • bashからFTPコマンドのステータスを調べる方法

    bashからFTPコマンドのステータスを調べる方法 シェルでFTPによるファイル転送を行っていますが、FTPが成功したかどうかをシェル側で受け取ることはできますか? FTP転送に失敗したら、3回やりなおして、それでダメならあきらめるというスクリプトにしたいです。 <サンプル> /usr/bin/ftp -n -v hostname << EOF user user1 passwd1 binary put file1 bye EOF

  • ExcelVBAでテキスト出力で最後の行に追記

    エクセルVBAで、すでに色々と書き込まれているテキストファイルがあり 一番最後の行に追記したいです。 具体的に下記のようなテキストにzzzzzzと追記して aaaaa bbbbb ccccc ddddd 下記のようにしたいです。 どのようにしたらよいのでしょうか? aaaaa bbbbb ccccc ddddd zzzzzz

  • シェルの変数セットについて

    どなたか教えてください。 以下のようなUNIXのシェルを作ってみたのですが変数がうまくセットされません。 これは仕様なんでしょうか??? シェルはkshでシェルの中でsuしているユーザはcshです。 例: ==test.sh== #!/bin/ksh A1="test test" su - user1 <<EOF echo "A1 :" $A1 set A2 =(test test) echo "A2 : " $A2 EOF exit ==実行結果== %./test A1 : test test A2 : %

  • FTPのmputで出るnetoutについて

    以下、FTPで行うmputについての質問です。 A.sh ************************* cat B.ftp | ftp -n if [ $? -ne 0 ]; then exit -1 fi exit 0 ************************* B.ftp ************************* open IPアドレス user XXX YYY prompt lcd ファイル転送元 cd ファイル転送先 mput *.csv bye ************************* 上記のようなシェルがあります。 A.shを実行すると, ************************* 対話型モードオフ。 現在のローカル・ディレクトリは ファイル転送元 です。 netout: 戻された 0 を書込みますか? netout: 戻された 0 を書込みますか? : : : ************************* というメッセージが表示され、 ファイル転送元のCSVファイルは全て0バイト以上であるのに 転送先にはいくつかのファイルが0バイトで作成されます。 おそらくnetoutが出たファイルが0バイトで作成されているようです。 ファイル単体でputすると上手く転送されます。 何が原因か全く分からないのですが、どなたかお分かりになる方、 いらっしゃいましたらよろしくお願いします。

  • テキストファイルの一部を複数パターンで置換

    初めて質問させていただきます。 以下のようなテキストファイル(元ファイル) があります。 1行目 あいうえお 2行目 codea=aaaaa/$$ 3行目 codeb=11111*11111 4行目 … この2行目と3行目の「aaaaa」「11111」 の文字列を以下に従って置換し保存したいです。 置換パターンは、 別ファイルに一覧になっています。 bbbbb 22222 ccccc 33333 … これを、元ファイルの 「aaaaa」を「bbbbb」に、 「11111」を「22222」に置換し、 ファイル名を「bbbbb-22222.txt」として 保存するのを、 置換パターンの数だけ行う必要があります。 VBA、バッチは経験があります。得意分野ではありませんが… 申し訳ありませんが、ご教授いただけないでしょうか?

    • ベストアンサー
    • CSS
  • 対話式FTPのシェル化の方法

    FTPのシェル化について質問があります。(同じドメインにあるLinuxマシン同士を想定しています。) ・get(put)でディレクトリを変えて指定することは可能ですか?例えば、"get /home/user1/file1"のように。 ・ftpを起動→ディレクトリ移動→指定ファイルのget の流れを自動化したいと考えています。よい方法はないでしょうか?ftpをあきらめてrcpにするしかないのでしょうか? 以上、ご教授願います。