The UNIX and Linux Forums  


Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Condizione che unisce linee di vi - ifermon UNIX for Dummies Domande & Risposte 0 06-04-2008 10:43 AM
ricerca per i contenuti in molti file e di stampa che utilizzano file di script di shell cdfd123 Shell scripting e di programmazione 3 10-07-2007 11:17 PM
sed csv rimuovere condizionale Jae Shell scripting e di programmazione 6 08-03-2007 04:29 PM
E-mail da script condizionale dfb500 Shell scripting e di programmazione 2 05-01-2007 02:01 PM
Creare il contenuto di un file utilizzando il contenuto di un altro file Ap Shell scripting e di programmazione 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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 10-13-2005
rajus19 rajus19 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2005
Località: Bangalore
Interventi: 36
Come aggiornare il contenuto in un file condizionale?

Hi All,

Ho un file di dati che ha due colonne Posizione e il Conte.

Il file appare così
India 1
USA 0
UK 2
Cina 0

Che cosa devo fare ogni volta che non è il login a Oracle quindi devo aggiungere 1 al conte per quella località.

Ogni volta che il mio script non riesce ad accedere a Oracle per una particolare posizione, lo script ha bisogno di trovare il record che per la posizione e quindi modificare il conte. I non dovrebbe modificare il conteggio di tutti i luoghi, invece ho bisogno di cambiare il conte solo per quella località.

Es: Supponiamo che se sto cercando di accedere al luogo di Oracle per l'India e non ho quindi il login per aggiornare il conte a 2.

Il vostro aiuto sarà molto apprezzato.

Grazie in anticipo
Raju
  #2 (permalink)  
Old 10-13-2005
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Iscriviti Data: dicembre 2004
Ubicazione: Singapore
Interventi: 2.350
Prova questo:


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

Alcuni degli script di codice non è reale, perché io non sono sicuro di come si sta per verificare se è possibile connettersi al database.
  #3 (permalink)  
Old 10-13-2005
rajus19 rajus19 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2005
Località: Bangalore
Interventi: 36
Ci vorrà solo aggiungere una riga, quello che voglio è che ho per aggiornare il record solo.

E una cosa è, come ottenere che contano per una particolare posizione.

Grazie per la tua risposta immediata.

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

Join Date: Sep 2000
Località: Asia-Pacifico
Messaggi: 6.804
Ci sono molti modi per farlo.

Un modo per farlo è quello di scrivere un file temporaneo in una directory ogni volta che un accesso non riesce. Ad esempio, l'elenco potrebbe apparire come:

india.pid1
us.pid2
uk.pid3

Come potete vedere si può aggiungere il processo con id alle origini il nome del file per evitare collisioni.

Poi, in un processo di cron, è possibile leggere i nomi dei file e aggiungerli per ogni origine. Quindi, leggere il file flat in cui i precedenti valori vengono memorizzati in un array e aggiungere i nuovi ei vecchi valori, e scrivere il nuovo file.

Assicuratevi di ripulire la directory dei file temporanei.

È anche possibile fare questo senza uno intermedio di file temporanei utilizzati come uno IPC, in un unico processo, ma, se si dispone di più di login fallimenti in una sola volta, si dovrà avere per attuare il blocco di file, che potrebbero essere più lento e più complesso di una semplice IPC come un file temporaneo.

Ci sono una miriade di modi per farlo. Vi suggerisco di utilizzare un approccio intermedio, come ho suggerito di evitare problemi, se si ottiene il login multipli fallimenti scoppia - detto questo, non hai descrivere l'architettura software in cui il fallimento effettivamente login bandiera (rilevamento) si verifica.
  #5 (permalink)  
Old 10-13-2005
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Iscriviti Data: dicembre 2004
Ubicazione: Singapore
Interventi: 2.350
Citazione:
Originalmente inviato da rajus19
Ci vorrà solo aggiungere una riga, quello che voglio è che ho per aggiornare il record solo.

E una cosa è, come ottenere che contano per una particolare posizione.

Grazie per la tua risposta immediata.

Raju
Rispettare il codice da vicino. Sono iscritto a un file temporaneo e il file che si spostano per l'originale. vale a dire Se non si riesce ad accedere in India, poi scrivo 'India 2' per il file temporaneo. Allora cerco di accedere a degli Stati Uniti. Se questo succede, allora sarà iscritto 'US 0' (la linea che ho letto) per il file. Dopo il ciclo while è completare il file temporaneo ha la corretta informazione circa il login fallimenti. Quindi spostare il file temporaneo sul file originale.
  #6 (permalink)  
Old 10-14-2005
rajus19 rajus19 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2005
Località: Bangalore
Interventi: 36
Grazie mille.

Saluti,
Raju
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:46 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0