-
Problem mit grep
Hallo,
ich habe ein kleines Problem mit grep.
Ich muss ein Textfile nach einem String durchsuchen das mit nem \ endet.
z.B.
9.3\rpm
9.3\delta
10.0\rpm
10.0\delta
grep mit per Variable z.B. 9.3\ übergeben. Dies schlägt logischerweise fehl.
Wie kann ich dieses 9.3\ schützen so das es nicht interpretiert wird?
MfG
Simcemilia
-
Ich mach das, indem ich die Variable als "Liste" in eckige Klammern schreibe, da verliert der Backslash seine Sonderbedeutung.
Ne schönere Lösung würde mich aber auch interessieren.
-
Code:
grep '9.3\\' file.txt
-
Das Problem besteht darin, dass der Backslash von der Shell interpretiert wird. Die Shell wird durch den Backslash angewiesen, das folgende Zeichen nicht als Zeichen mit besonderer Bedeutung zu werten und gleichzeitig den Backslash selbst zu ignorieren. Dies kann man ausgleichen, indem man statt eines Backslashs einfach zwei verwendet - der erste wird ignoriert und weist die Shell an, den zweiten nicht als Zeichen mit besonderer Bedeutung zu werten.