The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Bedingt bei Zeilen mit vi - ifermon UNIX for Dummies Questions & Answers 0 06-04-2008 10:43 AM
Suche für die Inhalte in vielen File-und Print-Datei mit Shell-Skript cdfd123 Shell Programmierung und Scripting 3 10-07-2007 11:17 PM
sed csv entfernen bedingt Jae Shell Programmierung und Scripting 6 08-03-2007 04:29 PM
E-Mail von Skript bedingt dfb500 Shell Programmierung und Scripting 2 05-01-2007 02:01 PM
Erstellen der Datei mit Inhalt Inhalt einer anderen Datei REV Shell Programmierung und Scripting 21 02-24-2006 10:25 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 10-13-2005
rajus19 rajus19 is offline
Registrierte Nutzer
  
 

Join Date: Feb 2005
Ort: Bangalore
Beiträge: 36
So aktualisieren Sie den Inhalt in einer Datei bedingt?

Hi All,

Ich habe eine Datei mit zwei Spalten Lage und die Anzahl.

Die Datei sieht wie folgt aus
Indien 1
US 0
UK 2
China 0

Was ich zu tun haben, ist, wenn ich nicht, um sich bei Oracle dann habe ich um 1 bis der Graf für den Ort.

Immer, wenn mein Skript nicht, um sich bei Oracle für einen bestimmten Ort, das Skript zu finden, den Rekord für den Ort und ändern Sie dann die Anzahl. Ich möchte nicht die Anzahl der für alle Standorte, sondern ich brauche, um die Anzahl nur für diesen Standort.

Beispiel: Angenommen, wenn ich versuche, um sich bei Oracle für Indien Lage und nicht anmelden dann habe ich eine Aktualisierung der bis 2 zählen.

Ihre Hilfe wird sehr geschätzt.

Vielen Dank im Voraus
Raju
  #2 (permalink)  
Old 10-13-2005
blowtorch's Avatar
Lötlampe blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Ort: Singapur
Beiträge: 2.350
Versuchen Sie folgendes:


Code:
#!/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

Einige der Skript-Code nicht wirklich, denn ich bin nicht sicher, wie Sie sich zu überprüfen, ob Sie eine Verbindung zu der Datenbank.
  #3 (permalink)  
Old 10-13-2005
rajus19 rajus19 is offline
Registrierte Nutzer
  
 

Join Date: Feb 2005
Ort: Bangalore
Beiträge: 36
Es wird nur eine Zeile anhängen, was ich will ist, ich habe zu aktualisieren, dass Sie nur.

Und noch etwas ist, wie man, dass die für einen bestimmten Ort.

Vielen Dank für Ihre schnelle Reaktion.

Raju
  #4 (permalink)  
Old 10-13-2005
Neo's Avatar
Neo Neo is online now Forum Staff  
Administrator
  
 

Join Date: Sep 2000
Ort: Asien-Pazifik-Raum
Posts: 6819
Es gibt viele Wege, dies zu tun.

Eine Möglichkeit, dies zu tun ist, um eine temporäre Datei in ein Verzeichnis, jedes Mal, wenn eine Anmeldung scheitert. Zum Beispiel, Ihrem Verzeichnis könnte wie folgt aussehen:

india.pid1
us.pid2
uk.pid3

Wie man sehen kann, können Sie die Prozess-ID zu den Ursprüngen Dateinamen Kollisionen zu vermeiden.

Dann, in einem cron-Job, können Sie die Datei-Namen und fügen Sie sie für jede Herkunft. Lesen Sie anschließend die Datei, in der Wohnung die alten Werte werden in einem Array, und fügen Sie den neuen und alten Werten, und schreiben Sie die neue Datei.

Stellen Sie sicher, dass, um das Verzeichnis der temporären Dateien.

Sie können auch ohne einen Zwischenbericht von temporären Dateien als IPC, in einem einzigen Prozess, sondern, wenn Sie mehrere Login-Fehler auf einmal, Sie haben sich für die Umsetzung das Sperren von Dateien, die sich langsamer und komplexer als eine einfache IPC wie eine temporäre Datei.

Es gibt unzählige Wege, dies zu tun. Ich schlage vor, Sie eine Zwischen-Ansatz, wie ich vorgeschlagen, um Probleme zu vermeiden, wenn Sie mehrere Login-Fehler in Bursts - mit, dass Sie nicht die Software-Architektur, in dem die tatsächlich Login Scheitern Flagge (Nachweis) erfolgt.
  #5 (permalink)  
Old 10-13-2005
blowtorch's Avatar
Lötlampe blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Ort: Singapur
Beiträge: 2.350
Zitat:
Zitat von rajus19
Es wird nur eine Zeile anhängen, was ich will ist, ich habe zu aktualisieren, dass Sie nur.

Und noch etwas ist, wie man, dass die für einen bestimmten Ort.

Vielen Dank für Ihre schnelle Reaktion.

Raju
Beachten Sie den Code genau. Ich schreibe, um eine temporäre Datei und verschieben die Datei auf das Original. Wenn Sie also nicht, um sich in Indien, dann schreibe ich "Indien 2 'auf die temporäre Datei. Dann habe ich versucht, den US-amerikanischen. Wenn dies gelingt, dann werde ich schriftlich "US-0" (die Zeile, die ich gelesen) auf die Datei. Nach der while-Schleife ist die Temp-Datei hat die richtigen Informationen über die Login-Fehler. Also habe ich den Temp-Datei auf Ihre Original-Datei.
  #6 (permalink)  
Old 10-14-2005
rajus19 rajus19 is offline
Registrierte Nutzer
  
 

Join Date: Feb 2005
Ort: Bangalore
Beiträge: 36
Vielen Dank.

Grüße,
Raju
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 07:47 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0