Mailinglist Archive: opensuse-de (5277 mails)

< Previous Next >
Re: Inhalt einer Datei einer Variablen zuweisen und damit rechnen
  • From: B.Brodesser@xxxxxxxxxxx (Bernd Brodesser)
  • Date: Tue, 11 Dec 2001 12:44:17 +0100
  • Message-id: <20011211114417.GB3160@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
* Jens Wolfgarten schrieb am 11.Dez.2001:

> Ich würde gerne den Inhalt einer Datei einer Variablen zuweisen
> (Zahlenwert) und dann damit rechnen. Etwa in der Form
>
> $erster_wert=cat wert1.txt
> $zweiter_wert=cat wert2.txt
> $ergebnis=$erster-$zweiter
> echo "$ergebnis"
>
> Kann mir jemand sagen, wie das in der bash geht?

Bourneshell allgemein:

---(schnipp)------------------------------------------------------
#!/bin/sh

ERSTER_WERT=`cat wert1.txt`
ZWEITER_WERT=`cat wert2.txt`
ERGEBNIS=`expr $ERSTER_WERT - $ZWEITER_WERT`
echo $ERGEBNIS
---(schnapp)------------------------------------------------------


Mit der bash geht es auch einfacher, ist aber nicht kompatibel:

---(schnipp)------------------------------------------------------
#!/bin/bash

ERSTER_WERT=$(cat wert1.txt)
ZWEITER_WERT=$(cat wert2.txt)
ERGEBNIS=$(($ERSTER_WERT - $ZWEITER_WERT))
echo $ERGEBNIS
---(schnapp)------------------------------------------------------


Wenn man die Zwichenwerte nicht braucht, geht es auch in einer
Zeile:

---(schnipp)------------------------------------------------------
#!/bin/bash

echo $(( $(cat wert1.txt) - $(cat wert2.txt) ))
---(schnapp)------------------------------------------------------

kann man auch für die Bourne-Shell allgemein machen, aber dann wird
es haarig:

---(schnipp)------------------------------------------------------
#!/bin/sh

echo `expr \`cat wert1.txt\` - \`cat wert2.txt\``
---(schnapp)------------------------------------------------------


Und wenn da nicht - sondern * stände, so müßte man den natürlich
auch noch maskieren.

Bernd

--
ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend.
SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen.
AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt
IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9

< Previous Next >
References