The UNIX and Linux Forums  

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
viの条件付で参加行 ifermon UNIXのダミー質問と回答のため 0 2008年6月4日 10:43午前
多くのファイルとプリンタの内容は、シェルスクリプトを使用してファイルを検索 cdfd123 シェルプログラミングとスクリプティング 3 2007年10月7日 11:17午後
条件付きでCSVファイルを削除するsed シェルプログラミングとスクリプティング 6 2007年8月3日 04:29午後
条件付きスクリプトからのメール dfb500 シェルプログラミングとスクリプティング 2 2007年5月1日 02:01午後
ファイルの内容を別のファイルの内容を使用して作成 改訂 シェルプログラミングとスクリプティング 21 2006年2月24日 10:25午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2005年10月13日
rajus19 rajus19 is offline
登録ユーザー
  
 

参加日: 2005年2月
場所:バンガロール
投稿: 36
どのようにファイルに条件付きの内容を更新するか?

こんにちはすべて、

私は、データの場所の2つの列があり、数ファイルがあります。

このファイルはこんな感じです。
インド1
米0
イギリス2
中国0

私に何があるとき私は、 Oracleにして私は、場所の数に1を追加して、ログインに失敗しています。

いつ私のスクリプトは、 Oracleには、特定の場所のログインに失敗すると、その場所は、スクリプトの記録を検索し、必要があるし、カウントを変更します。私はすべての場所のため、代わりに私はその場所だけでは、カウントを変更するために必要な数を変更しないでください。

インド場所の場合、 Oracleにログインしようとしている例:と仮定し、私は2には、カウントを更新して、ログインに失敗する。

ご協力大歓迎されます。

事前に感謝
ラジュ
  #2固定リンク)  
Old 2005年10月13日
blowtorch's Avatar
ジェット機 blowtorch is offline Forum Advisor  
サポーター
  
 

参加日: 2004年12月
場所:シンガポール
投稿数: 2,350
このお試しください:


コード:
#!/usr/bin/ksh

while read country count; do
   ### try to login to oracle and set some error condition
   if [ #the failure condition is set ]; then
      count=$(($count+1))
   fi
   echo $country $count >> your_file.tmp
done < your_file
mv your_file.tmp your_file

ため、どのような場合は、データベースに接続できることを確認するつもりはないことを確認するスクリプトの一部は実際のコードです。
  #3固定リンク)  
Old 2005年10月13日
rajus19 rajus19 is offline
登録ユーザー
  
 

参加日: 2005年2月
場所:バンガロール
投稿: 36
ただ、私は自分の欲しいものを1行追加するだけで記録を更新しています。

そして、もう一つのことを、どのように特定の場所の数を取得するにはされています。

あなたの当面の対応に感謝します。

ラジュ
  #4固定リンク)  
Old 2005年10月13日
Neo's Avatar
ネオ Neo is online now Forum Staff  
管理者
  
 

参加日: 2000年09月
場所:アジア太平洋地域
投稿数:6832
これには多くの方法があります。

これはディレクトリ内の一時ファイルの書き込みに失敗するたびにログインして行う1つの方法。たとえば、ディレクトリのように見えるかもしれませんが:

india.pid1
us.pid2
uk.pid3

の場合は、プロセスの起源にファイル名の衝突を避けるためにIDを付加することができますが表示されます。

次に、 cronジョブの場合は、ファイル名を読むことができるし、それぞれに起源を追加します。次に、フラットファイルは、以前の値を配列に格納されているを読んで、新旧の値を追加し、新しいファイルを書いてみませんか?

一時ファイルのディレクトリをきれいにしてください。

また、一時ファイルとして使用するIPCは、単一のプロセスでは、中間の場合は一度に複数のログイン失敗すると、ロック、これ以上の複雑遅いかもしれないファイルを実装する必要がなく、これを行うことができるシンプルなIPCの一時ファイルのように。

これには無数の方法があります。私はあなたの中間的なアプローチのように私のバースト内で複数の場合は、ログインの失敗を得る問題を回避することを提案-を使用することをお勧めは、あなたが実際にログインエラーフラグ(検出)が発生するソフトウェアアーキテクチャを説明していないこと。
  #5固定リンク)  
Old 2005年10月13日
blowtorch's Avatar
ジェット機 blowtorch is offline Forum Advisor  
サポーター
  
 

参加日: 2004年12月
場所:シンガポール
投稿数: 2,350
引用:
当初の投稿 rajus19
ただ、私は自分の欲しいものを1行追加するだけで記録を更新しています。

そして、もう一つのことを、どのように特定の場所の数を取得するにはされています。

あなたの当面の対応に感謝します。

ラジュ
のコードを密接に観察する。私は一時的なファイルに書いていますし、元に、そのファイルを移動。私はインドを書く場合はつまり、インドへのログインに失敗し、 2 'は、一時ファイルをしてください。それから私はアメリカにログインしてください。成功した場合は、それならば、書面の米0 'がファイルには、私を読む(行)となります。 whileループの後には、一時ファイルが完了すると、ログインの失敗についての正しい情報があります。だから私はあなたの元のファイルの上に一時ファイルを移動します。
  #6固定リンク)  
Old 2005年10月14日
rajus19 rajus19 is offline
登録ユーザー
  
 

参加日: 2005年2月
場所:バンガロール
投稿: 36
本当にありがとうございます。

よろしく、
ラジュ
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 03:12午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0