• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Newbie Grep Problem

Also ich will mit einem Script 190 Seriennummern in eine Datei schreiben. Bis zu dem grep ist soweit auch alles klar. Nur wie bekomme ich das ergebniss aus dem grep in eine Variable?
dannach sollen die grepvariable und mnode$a in je eine Zeile geschrieben werden.

#!/bin/bash
#Auslesen der seriennummern
a=001
LIMIT=190
while [ "$a" -le $LIMIT ]
do
echo mnode$a
ipmitool -I lan -H mnode$a -P test fru print | grep Serial >$b
echo Node$a $b >>ser.txt
let "a+=1"
done


Leider klappt grep Serial >$b nicht.
Kann mir hier jemand weiterhelfen?
 
twisted schrieb:
Wenn du $b mit der ausgabe von grep füllen willst:
Code:
b=`grep irgendwas`    # Akzent Gravis
b=$(grep irgendwas)
Die Ausgabe von grep landet in beiden Fällen in der Umgebungsvariable $b.

Ich hoffe, ich habe dich richtig verstanden...

EDIT: Natürlich musst du den kompletten Befehl zwischen die Klammern setzen, also:
Code:
b=$(ipmitool -I lan -H mnode$a -P test fru print | grep Serial)
 
Mir fällt gerade auf: Du brauchst gar kein $b. Mach doch einfach:
Code:
echo -n Node$a >> ser.txt
ipmitool -I lan -H mnode$a -P test fru print | grep Serial >> ser.txt
Der Parameter -n von echo verhindert den Zeilenvorschub und es landet wieder alles in einer Zeile...
 
Oben