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
Entwicklung Releases: Linux Mint 4.0 beta "Fluxbox", 4.0 Alpha "Debian" iBot UNIX-und Linux-RSS-News 0 01-04-2008 03:00 PM
Erläutern Sie die Zeile "mn_code \u003d" env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" Lokesha UNIX for Dummies Questions & Answers 4 12-20-2007 01:52 AM
Wie könnte ich ein Programm mit vielen "|", "<" und ">" strugglingman High-Level-Programmierung 2 04-29-2006 09:11 AM
Nr. utpmx Eintrag: Sie müssen exec "login" von der niedrigsten Ebene "Shell" peterpan UNIX for Dummies Questions & Answers 0 01-18-2006 04:15 AM
wie eine "gelesen" oder "geliefert" Eingang für Mails plelie2 Shell Programmierung und Scripting 1 08-06-2002 04: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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 01-25-2008
cml2008 cml2008 is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 12
Notwendigkeit, die "0" in "01"

AIX-System \u003d
Scripting \u003d ksh
me \u003d ziemlich neu ist.

Ich hoffe, dass dies nicht schon gefragt.

Szenario:
grep'ing für Informationen aus Dateien mit einer Namenskonvention als solche ....
2008_01 *. Ich werde meine Leistung grep auf diesen Dateinamen in dem Monat nach (z. B. 02).

Problem:
Wenn ich versuche, subtrahieren "02" - "01", um "1". Dies ist sinnvoll, da, wie die meisten Berechnungen Rückgang der vorangegangenen "0"
Ich brauche zu halten, dass "0", um meine grep.

Code:
# \u003d\u003d\u003d\u003d\u003d\u003d> GET & MONAT JAHR ***
# export YEAR \u003d `date +% Y"
# export MNTH \u003d `date +% m`
Export YEAR \u003d 2008
Export MNTH \u003d 02

# **************************************
# *** FIND VORIGES MONAT / JAHR WERT ***
# **************************************
if [$ MNTH! \u003d 01]
dann
((MNTH \u003d $ MNTH-01))
YEAR \u003d $ year
sonst
if [$ MNTH \u003d 01]
dann
MNTH \u003d 12
((YEAR \u003d $ year-1))
fi
fi

*** HINWEIS ~ ((YEAR \u003d $ year-1)) funktioniert.
!!!!! Diese Aussage ist jetzt falsch !!!!!

Ich würde es vorziehen, um es so einfach, wie es jetzt ist, aber alle Hilfe ist gefragt. Ich würde die Verwendung von sed oder awk, um die "0", aber ein Beispiel oder zwei, wie das zu tun, wäre toll.

Zuletzt bearbeitet von cml2008; am 01-26-2008 12:15 AM.. Grund: Erklärung ist falsch
  #2 (permalink)  
Old 01-25-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Ort: NM
Posts: 5808
eine Zeile

Code:
MNTH=$(printf "%02d" $MNTH)

  #3 (permalink)  
Old 01-25-2008
cml2008 cml2008 is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 12
Jim,

Excellent, dass funktioniert!

Ich sehe, dass ich das einige Zeit in Anspruch nehmen zu entschlüsseln alle Parameter für printf in den man-Seiten!

Davon abgesehen, vielleicht können Sie mir helfen wissen, mit der später die Hälfte der "if"-Anweisung.

if [$ MNTH! \u003d 01]
dann
((MNTH \u003d $ MNTH-01))
MNTH \u003d $ (printf "% 02d" $ MNTH)
YEAR \u003d $ year
sonst
if [$ MNTH \u003d 01]
dann
MNTH \u003d 12
((YEAR \u003d $ year-1))


rot jetzt druckt als solche 00/2009


wieder, das ist sehr cool über die printf, vielen Dank für Sie helfen.
  #4 (permalink)  
Old 01-25-2008
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
nur raten, aber brauchen Sie für die Verwendung von "\u003d\u003d", wenn man anstelle von "\u003d"? Die meisten Skripte sind die gleichen in dieser Hinsicht "\u003d" ist für die Zuordnung von Werten, "\u003d\u003d" ist für den Vergleich von Werten.
  #5 (permalink)  
Old 01-26-2008
cml2008 cml2008 is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 12
KevinADC,

Ich schaute in Ihren Vorschlag und fügte hinzu, die extra "\u003d" aber nicht um einen Unterschied im Vergleich der "Wert".

Ich glaube, das passiert, weil der Vergleich innerhalb von [].
  #6 (permalink)  
Old 01-26-2008
cml2008 cml2008 is offline
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 12
Meine Theorie ist, dass die "printf" Befehl ist das Überschreiben der zweiten "if"-Anweisung.
Ich habe versucht zu lesen, durch die man-Seiten zu dem Befehl printf jedoch, dass zu sein scheint ein bisschen umständlich, hat jemand wissen, ob die "printf" Befehl ist zwingende meinem zweiten "if"-Anweisung? Wenn ja habe ich, um in einem anderen "printf" Befehl zum Format der Variable "$ MNTH" zu \u003d 12?
Zitat:
if [$ MNTH! \u003d 01]
dann
((MNTH \u003d $ MNTH-01))
MNTH \u003d $ (printf "% 02d" $ MNTH)
YEAR \u003d $ year
sonst
if [$ MNTH \u003d 01]
dann
MNTH \u003d 12
((YEAR \u003d $ year-1))

rot jetzt druckt als solche 00/2009

Zuletzt bearbeitet von cml2008; am 01-26-2008 11:42 AM.. Grund: Grammatikfehler
Closed Thread

Lesezeichen

Tags
Linux

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


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