möchte ein wort aus einer zeile auslesen

V

Voodoo

Jungspund
moin ich verusch aus einer Zeile ein Wort auszulesen.


so sieht miene Beispiel Datei aus:

index.html idiot.html idiot.htm haus hans hansel hannes mausi hase haas x xx xxxx xxxxxx xyxyxy (steht alles in einer zeile)

wenn ich diesen Befehl ausführe
grep 'x\{4\}' lugmu.txt
dann bekomm ich die ganze Zeile angezeigt.

wenn ich jedes Wort in eine Zeile packe dann bekomm ich das Wort, was ich suche, aber so möchte ich die Datei nicht abspeichern(soll alles in einer Zeile sein)

kennt jemand ne Möglichkeit wich ich nur an das wort ran kommen???

bitte um Hilfe
 
Guck Dir mal den "cut" Befehl an.

man 1 cut

Gruss
maxix
 
also mit cut kann ich angeben welches wort er asuscheniden soll.
aber ich weiß ja nicht wo die postion des wortes ist.
kann man grep und cut kombinieren??
grep findet ja leider nur die zeile. und cut muss man dann sagen wo das wort ist, aber ich möchte das cut es selber rausbekommt durch ein ausdruck. kann ich den cut ein asudruck mitgeben??
in der manpage hab ich nichts dergleichen gefunden
 
Zuletzt bearbeitet:
Hallo

remove halt das was du nicht brauchst. :D

Wobei cut aber nur Sinn macht, wenn das gesuchte Wort immer an einer vorher bekannten Position steht.

GNU grep kennt die Option -o !
$echo "eins zwei drei"|grep -o "zwei"
zwei


Sonst müstest du es mit sed oder perl oder... versuchen:
Code:
sed -ne 's!.*\(suchwort\).*!\1!g;p' datei >ausgabedatei

Gruß Wolfgang
 
Moin,

"man grep" wäre nicht schlecht. Schau da mal unter der option " -o ".

Gruß Snowman
 
Snowman schrieb:
Moin,

"man grep" wäre nicht schlecht. Schau da mal unter der option " -o ".

Gruß Snowman
Sach ich doch :D

Geht aber nur mit GNU grep!

Nochwas mit perl ;)
echo "eins zwei drei"|perl -ne '(/zwei/)?print"$&\n":1'
zwei


Gruß Wolfgang
 
Oh da war wer schneller. :-)

Ich verstehe bloß nicht wofür du das brauchst. Wenn du das Wort kennst brauchst du es doch nicht suchen und aus einer Zeichenkette holen???
 

Ähnliche Themen

Werte aus Dateien lesen

Zurück
Oben