Hallo! Mit grep 'lala' name kann ich ja nach einem string in einer Datei suchen und auslesen, was mach ich aber wenn ich nach lala suchen will, aber nur "dentexthier" ausgeben lassen will. --- asdfsa lala dentexthier fasf --- also als ausgabe hätte ich gerne "dentexthier", da er unmittelbar hinter lala steht. Wie kann ich denn sowas realisieren? Gruss Mario Ohnewald
"mario ohnewald"
grep 'lala' name kann ich ja nach einem string in einer Datei suchen und auslesen, was mach ich aber wenn ich nach lala suchen will, aber nur "dentexthier" ausgeben lassen will. --- asdfsa lala dentexthier fasf --- also als ausgabe hätte ich gerne "dentexthier", da er unmittelbar hinter lala steht. Wie kann ich denn sowas realisieren?
man grep man awk man sed http://www.linuxdoc.org/ -> guides -> Advanced Bash Scripting Guide Evtl. ist es bei sowas auch einfacher, auf ein Perl-Script zurückzugreifen. (Das mache ich immer, weil ich zu blöd für awk und sed bin :-)) ). grep liefert dir die ganze Zeile. Wenn Du weisst, dass lala am Anfang steht, dann ein Leerzeichen und dann irgendwas (ohne Leerzeichen), dann ginge: grep "lala" name | awk '{ print $2 }' Dies liefert bei: lala dentexthier bla bla -> dentexthier blabla lala blabla2 blabla3 -> lala Sprich: awk bring exat den 2. Teil der Zeile. Wenn Du generell den teil hinter "lala" haben willst, dann ginge in Perl eine Sache wie: if ($line =~ /lala ([a-zA-Z0-9])/ ) { -> dentexthier würde in $1 stehen! } else { -> Zeile passte nicht } Diese RegExp gehen wohl auch mit sed und awk - aber damit arbeite ich recht selten. Mit den besten Grüßen, Konrad Neitzel -- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
Hi Mario, mario ohnewald [mailto:mario.ohnewald@gmx.de] schrieb am Friday, April 12, 2002 1:53 PM:
--- asdfsa lala dentexthier fasf --- also als ausgabe hätte ich gerne "dentexthier", da er unmittelbar hinter lala steht. Wie kann ich denn sowas realisieren?
Ganz einfach mit: ,---- | cat DEINEDATEI | grep lala | awk '{ print $2 }' `---- Michi
"Michael Jakscht"
Ganz einfach mit:
,---- | cat DEINEDATEI | grep lala | awk '{ print $2 }' `----
man grep Wenn einfach, dann doch bitte per: grep lala DEINEDATEI | awk '{ print $2 }' Mit den besten Grüßen, Konrad Neitzel -- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
Hallo, Am Freitag, 12. April 2002 13:39 schrieb Konrad Neitzel:
"Michael Jakscht"
schrieb: Ganz einfach mit:
,----
| cat DEINEDATEI | grep lala | awk '{ print $2 }'
`----
Wenn einfach, dann doch bitte per: grep lala DEINEDATEI | awk '{ print $2 }'
Wie wär's mit
$ awk '/^lala/ { print $2 }' DEINEDATEI
?
Gruß
Bertram
--
Bertram Scharpf
On Fri, Apr 12, 2002 at 13:52:44 +0200, mario ohnewald wrote:
Mit grep 'lala' name kann ich ja nach einem string in einer Datei suchen und auslesen, was mach ich aber wenn ich nach lala suchen will, aber nur "dentexthier" ausgeben lassen will. --- asdfsa lala dentexthier fasf --- also als ausgabe hätte ich gerne "dentexthier", da er unmittelbar hinter lala steht.
Indem Du das lala ausschneidest. Genau verstehe ich Dein Problem nicht. Willst Du aus einer Gesamtdatei alle Zeilen haben, in denen "lala" steht, dabei aber "lala" gleich wegschneiden? Vielleicht hilft dann etwas in dieser Richtung: cat dateiname | grep "lala\ " | sed -e "s/lala\ //g" BTW: Rufe auch mal "man regex" auf, das ist spannende Lektuwere und fuehrt Dich vielleicht zu dem, was Du brauchst. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hallo Peter, Oha... On Fri, 12 Apr 2002, Peter Blancke wrote:
cat dateiname | grep "lala\ " | sed -e "s/lala\ //g"
Hiermit nominiere ich das wie folgt eindeutig identifizierte
Individuum(?)
Peter Blancke
participants (6)
-
Bertram Scharpf
-
David Haller
-
Konrad Neitzel
-
mario ohnewald
-
Michael Jakscht
-
Peter Blancke