The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
EOF sjekke nedenfor ramkrix High Level Programmering 10 03-11-2008 01:43
sjekking uid filthymonk Shell programmering og Skripting 7 07-19-2007 11:40
Checking cp fremgang MarGur UNIX for Dummies Spørsmål og svar 0 05-15-2007 05:13
Checking for PXE Maestro @ Altiris Sun Solaris 5 05-25-2004 01:06

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-07-2008
philplasma's Avatar
philplasma philplasma is offline
Registrert bruker
  
 

Bli Dato: mai 2007
Beliggenhet: Quebec
Innlegg: 18
Question ser etter ikke er null

Jeg har en prosess som spytter ut en fil kalt sqlplus.out, her er hva resultatet ser slik ut:
Sitat:
$ Cat sqlplus.out

MAX_ID-LAST_ID
--------------
0
Foreløpig verdien du ser er null, det jeg trenger å gjøre er å utføre en handling hvis denne verdien er null, så hvordan kan jeg sjekke at verdien i en if setning? Hvis det hjelper i dette øyeblikk i utviklingen i tråd med verdien vil alltid være på linje 4.

Takk for hjelpen!
  #2 (permalink)  
Old 01-07-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Bli Dato: desember 2007
Sted: Hjemme i 17-tiden verdensmesteren Boston Celtics
Innlegg: 1311
Hvis da for ikke-null

Du kan gjøre det enklere, men jeg antar at du kan ha flere ting å gjøre når en ikke-null er funnet.
Dette er på jakt etter den siste linjen i filen, vel vitende om at verdien vil være på den linjen.


x \u003d $ (hale -1 sqlplus.out)

echo $ x
if [$ x-ne 0]

echo "Du har funnet en ikke-null verdi"
fi
  #3 (permalink)  
Old 01-07-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Sitat:
Originally Posted by joeyg View Post
Du kan gjøre det enklere, men jeg antar at du kan ha flere ting å gjøre når en ikke-null er funnet.
Dette er på jakt etter den siste linjen i filen, vel vitende om at verdien vil være på den linjen.


x \u003d $ (hale -1 sqlplus.out)

echo $ x
if [$ x-ne 0]

echo "Du har funnet en ikke-null verdi"
fi
Vil ikke kjøre i Bourne, for en Bourne-safe syntaks, bruk tilbake ticks:
Code:
if [ `tail -1 sqlplus.out` -ne 0 ] ; then echo "You have found a non-zero value" ; fi
  #4 (permalink)  
Old 01-08-2008
philplasma's Avatar
philplasma philplasma is offline
Registrert bruker
  
 

Bli Dato: mai 2007
Beliggenhet: Quebec
Innlegg: 18
Thumbs down

uten rygg flått det fungerte ikke, så takk går til de smilende Dragon for hjelpen og takk joeyg for forsøket. Men det fortsatt ikke fungerer, får jeg følgende som et resultat:
Code:
" near 0wn operator in arithmetic expression "0
Det er ingen anførselstegnet stede i sqlplus.out filen, men jeg bestemte meg for å VI filen og funnet at det er et ^ M tegnet på slutten av hver linje. Jeg skal fortelle deg at dette er et unix-emulator på en Windows server. En annen ting å nevne er at resultatet i sqlplus.out fila ikke starter ved første tegn, rettferdiggjør sqlplus rett verdien med feltet header - uansett grunn unix.com forumet grensesnittet setter den til venstre. Takk igjen for hjelp!
  #5 (permalink)  
Old 01-08-2008
jadionne jadionne is offline
Registrert bruker
  
 

Bli Dato: Aug 2007
Innlegg: 39
bare en side note hva DB bruker for å få dataene ut av?
Jeg vet at hvis du bruker visse operaters i DB2 kan du kutte ut alle unødvendige ting som kolonneoverskrifter IE

Code:
db2 -x "select * from your.table"
Hvis du kan få DB å kutte ut all den dritten så alt du må worrie om er å sammenligne verdiene og du kan kaste ut "hale" kommandoen.

Bare en tanke.

Jim
  #6 (permalink)  
Old 01-08-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Bli Dato: november 2007
Sted: New Zealand
Innlegg: 922
Sitat:
Originally Posted by philplasma View Post
uten rygg flått det fungerte ikke, så takk går til de smilende Dragon for hjelpen og takk joeyg for forsøket. Men det fortsatt ikke fungerer, får jeg følgende som et resultat:
Code:
" near 0wn operator in arithmetic expression "0
Det er ingen anførselstegnet stede i sqlplus.out filen, men jeg bestemte meg for å VI filen og funnet at det er et ^ M tegnet på slutten av hver linje. Jeg skal fortelle deg at dette er et unix-emulator på en Windows server. En annen ting å nevne er at resultatet i sqlplus.out fila ikke starter ved første tegn, rettferdiggjør sqlplus rett verdien med feltet header - uansett grunn unix.com forumet grensesnittet setter den til venstre. Takk igjen for hjelp!
Ah, i så fall kan vi gjøre søk etter 0 på den siste linjen litt mer robust, vil følgende avtrekkeren hvis du får en ikke-null avsluttingskoden men vil overse enhver ikke-sifret tegn på linjen. Du kan legge til et annet grep for a 0 etterpå for å bekrefte at det er gitt en avkjøring kode i det hele tatt, men jeg har forlatt den av i eksempelet nedenfor:
Code:
if `tail -1 sqlplus.out | egrep '[1-9]'` ; then ...
  #7 (permalink)  
Old 01-08-2008
philplasma's Avatar
philplasma philplasma is offline
Registrert bruker
  
 

Bli Dato: mai 2007
Beliggenhet: Quebec
Innlegg: 18
Thumbs up

Takk!

Mens jeg er sikker på at løsningen din fungerer perfekt, jeg var i stand til å omgå problemet ved å endre min SQL som produserer forskjellen mellom siste id og maks id og output 'true' hvis det er en forskjell. Nå er jeg bare må grep på sanne fra sqlplus.out filen og som tilfredsstiller betingelsen.

Som alltid unix.com leverer, i mitt tilfelle ikke en endelig løsning, men nyttige tips å komme meg dit.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:32.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0