Joachim Kieferle wrote:
Hallo Liste,
suche eine Lösung, wie ich bei "grep" den DOS-Zeilenumbruch finden lasse:
Möchte den Dateinamen von Dateien haben, in denen es eine Zeile gibt, in der NUR "bezahlt" steht. Also z.B. könnte eine Datei so aussehen:
++++++++++ testfile.txt ++++++++++++++ bezahlt Nr. 4414 - Preis= 2.4 Euro -12523- [15/Apr/2004:17:05:50] - 0.480068 qm (0.500027 x 0.960085) -- bezahlt in Zeile 1 eingeben Nr. 4416 - Preis= 2.4 Euro -12523- [15/Apr/2004:17:13:36] - 0.480068 qm (0.500027 x 0.960085) -- bezahlt in Zeile 1 eingeben ++++++++++++++++++++++++++++
Das "bezahlt" wird von Leuten eingefügt, die Geld einkassiert haben und deshalb unter Windows in der 1. Zeile ein "bezahlt" einfügen.
Wenn ich das "bezahlt" mit vi unter Linux eintrage, findet ein
grep -l -x bezahlt *txt
die Dateien. Wenn ich das gleiche mit einer Datei mache, die mit z.B. dem Wordpad bearbeitet wurde, gibt es den Dateinamen nicht mehr. D.h. hinten scheint noch ein Steuerzeichen bzw. anderer Zeilenumbruch zu sein. Ein
grep -l -x bezahlt'$' *txt
hat leider auch nichts bewirkt. Hat jemand eine Idee, wie ich das "DOS-Sonderzeichen" eintrage?
Viele Grüsse
Joachim
Hallo Joachim, mit grep -l '^bezahlt[[:space:]]*' müsste es gehen Gruß Dieter