Wie kann man eine CSV-Datei dazu bringen, die Zeilen entsprechend zu teilen?


makansij

Ich habe eine riesige CSV-Datei, ungefähr 100 M. Ich versuche, eine darauf headzu erstellen, und sie spuckt die gesamte CSV-Datei aus, unabhängig von der Anzahl der Zeilen, nach denen ich frage.

head data.csvUND head -1 data.csvgeben Sie das gleiche Ergebnis, dh die gesamte Datei.

Ich stelle später fest, dass die Datei überhaupt keine Zeilen enthält:

wc -l data.csv
0 data.csv

Ich öffne die CSV in Excel und es sieht so aus, wie es sollte. Und ich speichere es wieder als CSV.

Wie bekomme ich die Zeilen wieder in meine csvDatei?

makansij

Dies zeigt den unsichtbaren Charakter ^M:

cat -vets data.csv >> new_data.csv

Dies ersetzt dann das unsichtbare Zeichen ^Mdurch das Zeilenumbruchzeichen $\n:

sed -i .copy 's/\^M/\'$'\n/g' new_data.csv

Wenn Sie head new_data.csvdann sehen, dass die Zeilen entsprechend getrennt sind.

Verwandte Artikel