Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable in ShellScript bearbeiten



xylo
22-08-2004, 09:39
Hallo Forum,
weiss jemand, wie ich eine Variable in einem ShellScript bearbeiten kann?
Ich rufe ein Script etwa so auf:
# einscript.sh /var/spool/ein/beispiel-123.txt

Nun möchte ich aber nur den Dateinamen ( beispiel-123 ) aus der Variablen rausfiltern. Dabei hab ich mir was in dieser Art ausgedacht:


echo var/spool/ein/beispiel-123.txt | cut -d"/" -f4 | cut -d"." -f1

Dummerweise weiss ich nicht wie ich stdout in eine Variable umleiten soll und den Weg über eine temporäre Datei finde ich nicht gerade elegant.

Gibt es nicht sowas wie strstr()?

peschmae
22-08-2004, 10:03
VARIABLE1=$(echo var/spool/ein/beispiel-123.txt | cut -d"/" -f4 | cut -d"." -f1)
VARIABLE2=`echo var/spool/ein/beispiel-123.txt | cut -d"/" -f4 | cut -d"." -f1`

VARIABLE3=$(echo var/spool/ein/beispiel-123.txt | sed s#.*/##)
VARIABLE4=`echo var/spool/ein/beispiel-123.txt | sed s#.*/##`


Entweder $() oder `` - ersteres kann man netterweise auch verschachteln. Beispiele 3 und 4 benutzen Sed und sind kürzer.

MfG Peschmä

xylo
22-08-2004, 10:25
Big THX

Manchmal ist die Lösung so offensichtlich ... man sollte sich seine Beispielscripte nur mal richtig anschauen. :)