hallo Marc,
in einer Linux-Shell versuche ich mich etwas an regulären Ausdrücken
Naja, die Überschrift deines postings ist sinnvoll und zum Inhalt der Frage passend, aber ich vermisse jetzt ein bißchen den Regulären Ausdruck, um den es dir gehen könnte ;-)
Ich habe eine Datei namens "Datei", in dieser stehen ganz viele Zeilen, unter anderem auch diese:
startINHALTende
Hm, das ist möglich. Du solltest vielleicht der besseren Übersicht wegen dafür sorgen, daß da Leerzeichen reinkommen, also
start INHALT ende
Wenn ich nun folgendes Kommando in der Shell ausführe, bekomme ich die Zeile zurück:
grep 'start.*ende' Datei
ups? bitte mal "man grep" vergleichen und/oder die Voraussetzungen genauer benennen. Du bist bereits in dem Verzeichnis, in dem "datei" liegt? Und wie ist deine Zeile
grep 'start.*ende' Datei
zu deuten?
Ich möchte aber nicht die ganze Zeile, sondern nur INHALT zurück bekommen, also ausschließlich das was zwischen "start" und "ende" steht.
Du kannst an "grep" eine pipe anhängen resp. grep gleich "in die pipe" stopfen. Das heißt, was grep findet, kannst du sofort danach mit einem Regulären Ausdruck prüfen oder eben ausgeben lassen. Schematisch ungefähr so:
grep 'datei' /'start'(.*)'ende'/ | 'tu irgendwas'
_bitte beachten_: so funktioniert das selbstverständlcih auch nicht. Es ist nur das ungefähre Schema.
Grüße aus Berlin
Christoph S.
mailto:christoph.schnauss@berlin.de
http://www.christoph-schnauss.de
ss:| zu:) ls:& fo:) va:) sh:| rl:|