greppen nach Sonderzeichen
Hallo, Ich möchte einen Text nach $PATTERN greppen. $ grep $PATTERN textfile klappt aber nicht wenn $PATTERN Sonderzeichen enthält. in meinem speziellen Fall habe ich es mit Zeichen wie ^ oder ' zu tun - prinzipiell kann aber so ziemlich alles drin vorkommen. cu Rüdiger
Hallo, Am Fri, 26 Nov 2004, Ruediger Meier schrieb:
Hallo, Ich möchte einen Text nach $PATTERN greppen. $ grep $PATTERN textfile klappt aber nicht wenn $PATTERN Sonderzeichen enthält.
in meinem speziellen Fall habe ich es mit Zeichen wie ^ oder ' zu tun - prinzipiell kann aber so ziemlich alles drin vorkommen.
QUOTEN! grep "$PATTERN" textfile Wenn man nach Metazeichen suchen will, muss man diese im Pattern escapen, z.B.: PATTERN="`echo \"$PATTERN\" | sed 's/\\/\\\\/g'`" grep "$PATTERN" textfile UNGETESTET! Ohne konkretes Beispiel schreib ich aber nix mehr dazu. -dnh -- 100: Hacker Zwanghafte Programmierer, die nur für das Programm leben und deshalb auf ihre Körperpflege verzichten. (Joseph Weizenbaum, "Die Macht der Computer und die Ohnmacht der Vernunft")
Besten Dank! On Friday 26 November 2004 04:00, David Haller wrote:
Ich möchte einen Text nach $PATTERN greppen. $ grep $PATTERN textfile klappt aber nicht wenn $PATTERN Sonderzeichen enthält.
QUOTEN! OK das hatte ich gemacht hier aber vergessen.
Wenn man nach Metazeichen suchen will, muss man diese im Pattern escapen, z.B.:
PATTERN="`echo \"$PATTERN\" | sed 's/\\/\\\\/g'`" grep "$PATTERN" textfile
Das sieht gut aus. Zwischenzeitlich habe ich aber herausgefunden, daß mir ein $ grep -F "$PATTERN" textfile reicht. Falls $PATTERN mit minus "-" beginnt muss man es wohl so machen: $ grep -F -- "$PATTERN" textfile cu Rudi
participants (2)
-
David Haller
-
Ruediger Meier