Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Tips zu sed, awk oder was sonst noch so verfügbar ist...

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.04.2001
    Beiträge
    89

    Tips zu sed, awk oder was sonst noch so verfügbar ist...

    Hallo Leute,

    ich möchte in einem Bash-Skript die Nachkommastellen eines Strings prüfen und ggf. modifizieren. Als Ausgabe möchte ich immer einen String in dem Format x,xxxkg erhalten, wobei die Stellen vor dem Komma nicht begrenzt sein sollen. Der zu bearbeitende String kann z.B. "8kg", "8,1kg" und "8,15kg" sein oder sich schon im richtigen Format befinden.

    Ich bin schon in der Lage, mir etwas aus sed und awk zusammenzupuzzeln, wäre aber für einen Tip, der das Ganze verkürzt sehr dankbar

    Gruß, Picard

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von jean_luc_picard
    Hallo Leute,

    ich möchte in einem Bash-Skript die Nachkommastellen eines Strings prüfen und ggf. modifizieren. Als Ausgabe möchte ich immer einen String in dem Format x,xxxkg erhalten, wobei die Stellen vor dem Komma nicht begrenzt sein sollen. Der zu bearbeitende String kann z.B. "8kg", "8,1kg" und "8,15kg" sein oder sich schon im richtigen Format befinden.

    Ich bin schon in der Lage, mir etwas aus sed und awk zusammenzupuzzeln, wäre aber für einen Tip, der das Ganze verkürzt sehr dankbar

    Gruß, Picard
    String teilen, als Trennzeichen nimmst das Komma.
    Dann kannst du die Stringlänge nach dem Komma prüfen,
    und deine jeweiligen Aktionen auslösen.
    Den Rest (kg, gramm usw.) schreibst Du hinten dran.
    Fertig.

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    z.B. so:
    Code:
    VAR=8,12kg
    VAR=${VAR%kg}
    VAR=${VAR/,/.}
    printf %.3f%s $VAR kg
    [Edit], so jetzt gehts glaub ich. Falls du in der Ausgabe kein Dezimalpunkt willst musst du halt noch ein | sed s#\.#,# dranhängen.[/Edit]

    MfG Peschmä
    Geändert von peschmae (02-03-2005 um 08:43 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer
    Registriert seit
    30.04.2001
    Beiträge
    89
    Super, das sieht gut aus! Wusste gar nicht, dass es printf für die Shell gibt... mal sehen, was man damit noch alles formatiert bekommt


    Gruß, Picard

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •