- ベストアンサー
シェルスクリプト複数の配列を使用したループ処理
bashシェルスクリプトの素人です。 IPアドレスを1行に1つずつ記したファイル IP.txt と、IDを1行に1つずつ記したファイル ID.txt があります。 これらのファイルを使用して下のコマンドをすべてのIPアドレスに対して実行した結果を得たいです。 コマンド▲IPアドレス▲ID > result.txt IPアドレスの配列と、IDの配列を作成し、それをforでループさせれば良いのではと考え、Webで調べましたが実現方法がわからず困っています。 素人質問で申し訳ありませんが知恵を貸してください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
pasteコマンドでファイルを横に連結すれば、配列を使う必要は無い。 paste IP.txt ID.txt | while read ip id do コマンド $ip $id done > result.txt bashの配列に入れるのだとすると ip=(`cat IP.txt`) id=(`cat ID.txt`) for i in ${!ip[*]} do コマンド ${ip[$i]} ${id[$i]} done > result.txt >Webで調べましたが実現方法がわからず困っています。 man bash を見ましょう。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「実現方法」ってのは, 具体的にはどこの「実現方法」がわからないんでしょうか? 配列を作るところ? for でループ? 実際にコマンドを実行すること?
質問者
補足
Tacosanさま わかりづらい表現ですみません。 提示してもらいました三点ともわかりません。
お礼
ありがとうございます! 参考にさせてもらい実行したところ望んだ結果をえられました!!