The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
EOF de controle op de hieronder ramkrix Hoog Niveau Programmering 10 03-11-2008 01:43
controle uid filthymonk Programmeren en Shell Scripting 7 07-19-2007 11:40 PM
Controle cp vooruitgang MarGur UNIX voor Dummies Questions & Answers 0 05-15-2007 05:13 PM
Controle voor 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-07-2008
philplasma's Avatar
philplasma philplasma is offline
Geregistreerde gebruiker
  
 

Join Date: May 2007
Plaats: Quebec
Posts: 18
Question controle voor niet-nul waarde

Ik heb een proces dat spuugt een bestand genaamd sqlplus.out, hier is wat het resultaat ziet er als volgt uit:
Citaat:
$ Cat sqlplus.out

MAX_ID-LAST_ID
--------------
0
Momenteel is de waarde die u ziet is nul, wat ik moet doen is het uitvoeren van een actie als die waarde is niet nul, dus hoe kan ik die waarde check-in een if-statement? Als het helpt op dit moment in de ontwikkeling van de lijn met de waarde zal altijd op lijn 4.

Bedankt voor de hulp!
  #2 (permalink)  
Old 01-07-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: december 2007
Locatie: Home 17-time wereld kampioen Boston Celtics
Berichten: 1311
Als dan voor niet-nul

Je kunt het eenvoudiger, maar ik ga ervan uit dat u verschillende dingen te doen wanneer een niet-nul is gevonden zou kunnen hebben.
Dit is op zoek naar de laatste regel van het bestand, wetende dat de waarde zal worden op die lijn.


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

echo $ x
if [$ x-ne 0]
dan
echo "Je hebt gevonden een niet-nul waarde"
fi
  #3 (permalink)  
Old 01-07-2008
Smiling Dragon's Avatar
Lachend Dragon Smiling Dragon is offline Forum Advisor  
Ongeorganiseerd Gebruiker
  
 

Join Date: november 2007
Locatie: Nieuw-Zeeland
Posts: 922
Citaat:
Oorspronkelijk geplaatst door joeyg View Post
Je kunt het eenvoudiger, maar ik ga ervan uit dat u verschillende dingen te doen wanneer een niet-nul is gevonden zou kunnen hebben.
Dit is op zoek naar de laatste regel van het bestand, wetende dat de waarde zal worden op die lijn.


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

echo $ x
if [$ x-ne 0]
dan
echo "Je hebt gevonden een niet-nul waarde"
fi
Zal niet uitgevoerd in Bourne, voor een veilig Bourne-syntax, gebruik terug 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
Geregistreerde gebruiker
  
 

Join Date: May 2007
Plaats: Quebec
Posts: 18
Thumbs down

zonder de rug teken het werkte niet, dus dank gaat uit naar de Smiling Dragon voor het helpen van joeyg en bedankt voor de poging. Het is echter nog steeds niet werkt, krijg ik het volgende als resultaat:

Code:
" near 0wn operator in arithmetic expression "0

Er is geen aanhalingsteken sqlplus.out aanwezig in het bestand, al heb ik besloten om vi het dossier en vond dat er een ^ M karakter aan het einde van elke regel. Ik wil u laten weten dat dit is een Unix-emulator op een Windows-server. Een ander ding om te vermelden is dat het resultaat in de sqlplus.out bestand niet beginnen bij het eerste teken, sqlplus recht ging de waarde met het veld header - om welke reden ook de unix.com forum interface zet het aan de linkerkant. Nogmaals bedankt voor de hulp!
  #5 (permalink)  
Old 01-08-2008
jadionne jadionne is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 39
slechts een kant noteren wat DB gebruikt om de gegevens uit te komen?
Ik weet dat als u bepaalde operaters gebruik in DB2 je kunt uitknippen alle overbodige dingen zoals kolomkoppen IE


Code:
db2 -x "select * from your.table"

Als u uw DB te snijden alles uit de stront dan kan alles wat je zal moeten worrie over is het vergelijken van de waarden en je kunt gooien de "staart" commando.

Gewoon een gedachte.

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

Join Date: november 2007
Locatie: Nieuw-Zeeland
Posts: 922
Citaat:
Oorspronkelijk geplaatst door philplasma View Post
zonder de rug teken het werkte niet, dus dank gaat uit naar de Smiling Dragon voor het helpen van joeyg en bedankt voor de poging. Het is echter nog steeds niet werkt, krijg ik het volgende als resultaat:

Code:
" near 0wn operator in arithmetic expression "0

Er is geen aanhalingsteken sqlplus.out aanwezig in het bestand, al heb ik besloten om vi het dossier en vond dat er een ^ M karakter aan het einde van elke regel. Ik wil u laten weten dat dit is een Unix-emulator op een Windows-server. Een ander ding om te vermelden is dat het resultaat in de sqlplus.out bestand niet beginnen bij het eerste teken, sqlplus recht ging de waarde met het veld header - om welke reden ook de unix.com forum interface zet het aan de linkerkant. Nogmaals bedankt voor de hulp!
Ah, in dat geval kunnen wij het zoeken naar 0 op de laatste regel een iets meer robuust, zullen de volgende trigger als u een non-zero exit code te krijgen maar het zal een eventuele niet-cijferig tekens op de lijn. Je kon een tweede grep voor een 0 daarna te bevestigen dat het gegeven een exit-code op alle, maar ik heb dat uit in het voorbeeld hieronder links:

Code:
if `tail -1 sqlplus.out | egrep '[1-9]'` ; then ...

  #7 (permalink)  
Old 01-08-2008
philplasma's Avatar
philplasma philplasma is offline
Geregistreerde gebruiker
  
 

Join Date: May 2007
Plaats: Quebec
Posts: 18
Thumbs up

Bedankt!

Hoewel ik weet zeker dat uw oplossing werkt perfect, was ik in staat om te werken rond het probleem door het veranderen van mijn SQL dat het verschil tussen de laatste en max id id en output 'produceert true' als er een verschil. Nu heb ik moet gewoon grep op ware uit de sqlplus.out bestand en dat de voorwaarde voldoet.

Zoals altijd unix.com levert, in mijn geval niet een definitieve oplossing, maar nuttige tips om me daar.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:14.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0