grep oder fgrep unter Windows - csv Zeilenumbruch fehlt

OP #5005471
Guten Tag liebes Forum, Ihr wart mir immer eine Hilfe!

Doch nun zu meinem Problem.
grep -Zeilenumbrüche fehlen-


Die Lösung muß in einer Batch erfolgen, die zwischen Programm "A" und 
"B" eine Datei übergibt.

Programm "A" gibt eine CSV mit 24 Spalten und ";" als Delimiter aus. 
Jede Zeile (von etwa 15.000) ist mit Zeilenumbruch abgeschlossen.

In der ersten Spalte steht true oder false. Die Datensätze mit true 
sollen
entfernt werden.
Programm "B" übernimmt die verbleibenden false Zeilen (etwa 4000) zur 
Weiterverarbeitung.

Bisher habe ich das in einer Batch gelöst, allerdings mit herben 
Laufzeitproblemen.
Ich lud von unxutils.sourceforge.net die GNU utilities for Win32 
herunter und den Einzeiler
1
grep -w "false" \\SERVERIP\Daten\0-PROJ-0\trim\Verkäufe.txt >\\SERVERIP\Daten\0-PROJ-0\trim\Verkäufe.csv

in die Batch eingebaut.
Läuft auch prima, nur fehlen in der von grep erstellten Datei die 
Zeilenumbrüche in der CSV (Zeile mit hex 0A abgeschlossen, statt HEX 0D 
0A.

Wie kann die Zeilenumbrüche mit übergeben? Eventuell bin ich blind.
In der unter WIN laufenden Batch hatte ich zunächst die Codepages in 
Verdacht und unter CHCP 850 und CHCP1252 getestet. Erfolglos.
Mit fgrep das Gleiche.
Vielleicht hat jemand eine Idee.

Gruß rubcom und danke im Vorraus.
Gast
> In der ersten Spalte steht true oder false.

> grep -w "false" bla.csv



Ich hoffe "false" steht in keiner anderen Datenspalte: diese Zeilen 
werden ebenso selektiert.

Mit "^" wird explizit der Zeilenanfang spezifiziert (und somit eine RE 
gegeben, sonst würde ja das primitive 'find' von DOS genügen...) und mit 
";" der Spaltentrenner.

Option -U weist grep an, die Datei als binary zu behandeln, lässt also 
die Zeilenende ohne Konversion stehen.
1
grep -wU "^false;" bla.csv

Option -i macht die Sache unabhängig von Gross-/Kleinschreibung.
OP
guest schrieb:
> Kommandozeile vor dem Frühstück für Alle! schrieb:
>> sonst würde ja das primitive 'find' von DOS genügen
>
> Und falls man mehr braucht gibt es auch noch 'findstr', dann klappt es
> auch mit RE und man kann auf den Umweg über Unix-Tool komplett
> verzichten
Hallo

Bisher wurde es mit find gelöst. Danke auch für die ausführliche 
Erläuterung zum grep.
-U binary war die Lösung.

Gruß Ingo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.