"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