Werte in 2 Variablen subtrahieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Mad_van_Bert, 06.09.2011.

  1. #1 Mad_van_Bert, 06.09.2011
    Mad_van_Bert

    Mad_van_Bert Grünschnabel

    Dabei seit:
    06.09.2011
    Beiträge:
    7
    Zustimmungen:
    0
    Hallo ihr,

    ich habe folgendes Problem:
    Ich habe in zwei Variablen jeweils 18 Zahlen (0-99 ohne Komma) stehen die ich vorher mit einem awk-Befehl selektiert habe.
    Die Variablen sehen also wie folgt aus:
    Var1____Var2
    15_____4
    17_____7
    3______12
    35_____14
    ...

    Es soll nun z.b. 15-4 gerechnet werden, 17-7 usw.
    In meinem Script wird jedoch fälschlicherweise jede Zahl einmal mit einer anderen Subtrahiert, d.h. ich bekomme anstatt 18 Ergebnissen komischerweise 648 ;-)

    Was muss ich denn ändern, damit dies funktioniert?
    Ich hoffe, Ihr könnt mir helfen =)

    MfG
    Mad van Bert
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HeadCrash, 06.09.2011
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hallo,

    das liegt an dem Aufbau deiner Schleifen, duch die zweite Schleife sagst du das er alle Zahlen die er mit dem zweiten awk-Befehl findet, von der Abziehen soll, die er grade in $a gespeichert ist.

    Kleiner Tip am Rande, awk kann auch Rechnen ;)

    mfg
    HeadCrash
     
  4. #3 Mad_van_Bert, 06.09.2011
    Mad_van_Bert

    Mad_van_Bert Grünschnabel

    Dabei seit:
    06.09.2011
    Beiträge:
    7
    Zustimmungen:
    0
    das klingt einleuchtend ;-)

    ist das Rechnen mit awk in diesem Bsp. einfacher?
    Bin erst seit August in der Unix-Materie so richtig drin. Es fällt mir alles noch etwas schwer ;-)
    mfg
    MvB
     
  5. #4 HeadCrash, 06.09.2011
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    In diesem Fall ist das Rechnen mit awk um Welten einfacher :D

    Code:
    echo "5 2" | awk '{ print($1 - $2) }'
    3
    
    mfg
    HeadCrash
     
  6. #5 Mad_van_Bert, 06.09.2011
    Zuletzt bearbeitet: 06.09.2011
    Mad_van_Bert

    Mad_van_Bert Grünschnabel

    Dabei seit:
    06.09.2011
    Beiträge:
    7
    Zustimmungen:
    0
    das sieht wirklich ziemlich einfach aus ;-)

    Nur wie binde ich das in mein Script ein?
    So
    ja wohl nicht, denn dann bekomme ich als Ergebnis
    Dies sind genau die Zahlen die in $a und $b drinstehen ;-)

    mfg
    MvB
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. amöbe

    amöbe Tripel-As

    Dabei seit:
    21.01.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Du brauchst dein Script nicht, es geht mit einem awk-Einzeiler:

    Code:
    awk '{split($4,a,";"); print (a[1]-a[2])}' Tab.dat
     
  9. #7 Mad_van_Bert, 06.09.2011
    Zuletzt bearbeitet: 06.09.2011
    Mad_van_Bert

    Mad_van_Bert Grünschnabel

    Dabei seit:
    06.09.2011
    Beiträge:
    7
    Zustimmungen:
    0
    juhu, es funktioniert =)

    Musste nur noch das ; in ein : ändern, weil die 2 Zahlen imme rmit einem : getrennt sind =)
    Vielen Dank

    mfg
    MvB
     
Thema: Werte in 2 Variablen subtrahieren
Besucher kamen mit folgenden Suchen
  1. linux bash subtrahieren

Die Seite wird geladen...

Werte in 2 Variablen subtrahieren - Ähnliche Themen

  1. Free Software Foundation bewertet Codehosting-Dienste

    Free Software Foundation bewertet Codehosting-Dienste: Die Free Software Foundation (FSF) hat Bewertungen nach den selbst definierten Richtlinien für mehrere Codehosting-Dienste herausgegeben....
  2. Mit bash Skript bestimmte Werte aus Tabelle lesen

    Mit bash Skript bestimmte Werte aus Tabelle lesen: Hallo! Ich beschäftige mich erst seit Kurzem mit bash und bin deshalb noch nicht so fit darin. Und nun habe ich schon ein kleines Problem und...
  3. Logs von debsecan, tiger, chkrootkit richtig auswerten.

    Logs von debsecan, tiger, chkrootkit richtig auswerten.: Hallo! ich habe debsecan drüber laufen lassen und der zeigt mir einen Haufen an low/medium/high urgency an, mit oder ohne remotly exploitable....
  4. Wertebereich ersetzen mit sed

    Wertebereich ersetzen mit sed: Hallo Forenmitglieder, ich habe ein kleines Problem mit sed und zwar möchte ich in einer Datei mit mehren Spalten und Zeilen das Vorkommen eines...
  5. Jasper: Sprachsteuerung für preiswerte Rechner

    Jasper: Sprachsteuerung für preiswerte Rechner: Charlie Marsh und Shubhro Saha, Studenten der Princeton-Universität, haben mit Jasper eine Open-Source-Anwendung veröffentlicht, mit deren Hilfe...