The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Ontwikkeling Releases: Linux Mint 4.0 Beta "fluxbox", 4.0 Alpha "Debian" iBot UNIX en Linux RSS Nieuws 0 01-04-2008 03:00 PM
Leg de lijn "mn_code \u003d" env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" Lokesha UNIX voor Dummies Questions & Answers 4 12-20-2007 01:52
hoe kan ik een gemengd programma met veel "|", "<" en ">" strugglingman Hoog Niveau Programmering 2 04-29-2006 08:11
Nr. utpmx item: u moet exec "inloggen" uit laagste niveau 'shell' peterpan UNIX voor Dummies Questions & Answers 0 01-18-2006 04:15
hoe om te verzoeken te "lezen" of "afgeleverd" ontvangst voor mails plelie2 Programmeren en Shell Scripting 1 08-06-2002 03:26 PM

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-25-2008
cml2008 cml2008 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
noodzaak om de "0" in "01"

System \u003d AIX
scripting \u003d ksh
me \u003d tamelijk nieuw voor dit.

Ik hoop dat dit niet is gevraagd reeds.

Scenario:
grep'ing om informatie uit bestanden met een naamgevingsconventie als zodanig ....
2008_01 *. Ik zal het uitvoeren van mijn grep op deze bestandsnamen in de maand na (namelijk 02).

Probleem:
Wanneer ik probeer te aftrekken "02" - "01", get "1". Dit is logisch aangezien de meeste berekeningen vervolgkeuzelijst de voorgaande "0"
Ik moet houden dat "0" voor het uitvoeren van mijn grep.

Code:
# \u003d\u003d\u003d\u003d\u003d\u003d> GET JAAR & MAAND ***
# export JAAR \u003d `date +% Y"
# export MNTH \u003d `date +% m"
uitvoer JAAR \u003d 2008
uitvoer MNTH \u003d 02

# **************************************
# *** FIND VOORGAANDE MAAND / JAAR WAARDE ***
# **************************************
if [$ MNTH! \u003d 01]
dan
((MNTH \u003d $ MNTH-01))
JAAR \u003d $ JAAR
anders
if [$ MNTH \u003d 01]
dan
MNTH \u003d 12
((JAAR \u003d $ year-1))
fi
fi

*** OPMERKING ~ ((JAAR \u003d $ year-1)) werkt perfect.
!!!!! De bovenstaande verklaring is nu onjuiste !!!!!

Ik zou liever het zo eenvoudig is het nu echter alle hulp is welkom. Ik zou met behulp van sed awk of toe te voegen "0" in, maar een voorbeeld of twee van hoe dat zou geweldig zijn.

Laatst gewijzigd door cml2008; op 01.26.2008 12:15 AM.. Reden: verklaring is onjuist
  #2 (permalink)  
Old 01-25-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.720
voeg een lijn
Code:
MNTH=$(printf "%02d" $MNTH)
  #3 (permalink)  
Old 01-25-2008
cml2008 cml2008 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
Jim,

Uitstekend, dat werkte!

Ik zie dat ik zal moeten nemen enige tijd te ontcijferen van de parameters voor printf in de man pagina's!

Dat gezegd, misschien kun je me helpen met de later weten de helft van de "als" verklaring.

if [$ MNTH! \u003d 01]
dan
((MNTH \u003d $ MNTH-01))
MNTH \u003d $ (printf "% 02d" $ MNTH)
JAAR \u003d $ JAAR
anders
if [$ MNTH \u003d 01]
dan
MNTH \u003d 12
((JAAR \u003d $ year-1))


in het rood nu drukt als zodanig 00/2009


nogmaals dat is heel cool over de printf, bedankt voor je hulp.
  #4 (permalink)  
Old 01-25-2008
KevinADC KevinADC is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 731
alleen maar gissen, maar heb je nodig voor het gebruik van "\u003d\u003d" bij een vergelijking plaats van "\u003d"? De meeste scripts zijn hetzelfde in dit verband "\u003d" is voor het toekennen van waarden, "\u003d\u003d" is voor het vergelijken van waarden.
  #5 (permalink)  
Old 01-26-2008
cml2008 cml2008 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
KevinADC,

Ik keek naar uw suggestie en de toegevoegde extra "\u003d" echter niet het verschil maken bij de vergelijking van de "waarde".

Ik denk dit omdat het vergelijken gebeurt binnen [].
  #6 (permalink)  
Old 01-26-2008
cml2008 cml2008 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2008
Posts: 12
Mijn theorie is dat de "printf" dwingende opdracht is de tweede "als" verklaring.
Ik heb geprobeerd om te lezen door middel van de man pages over printf, maar dat lijkt een beetje omslachtig, doet niemand weet wanneer de "printf" dwingende opdracht is mijn tweede "als" verklaring? Als dat zo is heb ik te zetten in een andere "printf" commando om het variabele "$ MNTH" te \u003d 12?
Citaat:
if [$ MNTH! \u003d 01]
dan
((MNTH \u003d $ MNTH-01))
MNTH \u003d $ (printf "% 02d" $ MNTH)
JAAR \u003d $ JAAR
anders
if [$ MNTH \u003d 01]
dan
MNTH \u003d 12
((JAAR \u003d $ year-1))

in het rood nu drukt als zodanig 00/2009

Laatst gewijzigd door cml2008; op 01.26.2008 11:42.. Reden: grammaticale fouten
Closed Thread

Bladwijzers

Labels
linux

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 06:23 PM.


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