Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » grep

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.11.2003, 20:01 Uhr
Pablo
Supertux
(Operator)


Hi

ich will mit grep alle Vorkommen der Wörter die mit $ anfangen:


Code:
$ grep -E -e "[0-9A-Za-z]" regex.txt


Leider ist $ aber ein Metazeichen dafür, dass die WhiteSpaches und
Newlines in den Zeilen sucht, aber ich kriege nicht hin, dass $ als
PATTERN verstanden wird, d.h, die Zeilen angezeigt werden, die mit $
anfangen.

Ich will alle Variablen eines Perl-Codes. Und wie mache ich, dass nicht die ganze Zeile angezeigt wird, sondern nur das String des Patterns?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.11.2003 um 20:01 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.11.2003, 20:11 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


vielleicht funktioniert ja \$ ?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.11.2003, 20:15 Uhr
Pablo
Supertux
(Operator)


Ich habs probiert, hat aber nicht. Die ganze Datei wird angezeigt
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.11.2003, 20:23 Uhr
0xdeadbeef
Gott
(Operator)



Code:
grep -E -e '[[:space:]]\$' -e '^\$' test.txt


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.11.2003, 20:42 Uhr
Pablo
Supertux
(Operator)



Zitat:
0xdeadbeef postete

Code:
grep -E -e '[[:space:]]\$' -e '^\$' test.txt




cool, danke

aber wie kann ich grepen, so dass ich nur das Wort mit $ bekommen kann? Ich krieg ja sonst nur die ganze Zeile.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.11.2003, 23:13 Uhr
0xdeadbeef
Gott
(Operator)


Da würd ich mir ne Schleifenkombintion bauen, sowas in der Art:

C++:
for i in $(cat datei.txt); do
  echo $i | grep -E -e '[[:space:]]\$' -e '^\$'
done


Ist jetzt allerdings ungetestet.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.11.2003, 07:02 Uhr
virtual
Sexiest Bit alive
(Operator)


Das $ Allein matcht eigentlich immer das Zeilenende. Die Lösung mit dem [[:space:]] ist zwar tricky, würde aber alle $ am Zeilenanfang nicht matchen, sondern vielleicht eher

Code:
grep '$[[:alnum:]]_' datei


Tja, und dann arbeitet ja Der ganze Kram zeilen orientiert, deshalb mußt Du das noch mit sed kombinieren (da geht das mit dem $ auch einfacher::

Code:
sed -e 's/\$/\n\$/g' <datei | grep '$[[:alnum:]]_'


Letztlich brauchst Du noch nicht mal das Grep, sondern kannst alles mit dem sed machen; aber das findest Du bestimmt auch noch raus (wir wollen ja nicht alles verraten )
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.11.2003, 13:01 Uhr
0xdeadbeef
Gott
(Operator)


Deswegen ja auch noch die zweite Pattern ^\$ - wie du sicher weißt, matcht ^ den Zeilenanfang. Allerdings hast du insofern recht, als dass bei meinem zweiten Ansatz die space-Pattern unnötig wird. Also:

Code:
for i in $(cat datei.txt); do echo $i | grep -E -e '^\$'; done

--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: