Konvertiere .txt in .csv in der Shell

7

Ich habe eine Textdatei:

%Vor%

Ich möchte es in eine CSV-Datei konvertieren:

%Vor%

Ich habe damit versucht, aber nicht das Ergebnis bekommen.

%Vor%     
Kay 24.05.2016, 06:25
quelle

5 Antworten

11

awk ist hier vielleicht etwas übertrieben. IMHO, mit tr für direkte Substitutionen wie diese ist viel einfacher:

%Vor%     
Mureinik 24.05.2016, 06:30
quelle
10

Nur sed und sonst nichts

%Vor%

cat ofile.csv

%Vor%     
syadav 24.05.2016 08:42
quelle
3

Hier ist die awk-Version von awk 'BEGIN{print "ID,No,A,B,C"}{print ","","","","}' ifile.txt

Ausgabe:

%Vor%     
bertramlau 24.05.2016 09:14
quelle
2

Versuchen Sie das ..

%Vor%

AUSGABE

%Vor%     
Amey Jadiye 24.05.2016 06:32
quelle
2

Eine Möglichkeit, nicht unbedingt die beste, ist:

%Vor%

Fügen Sie die Überschrift vor Zeile 1 ein; Ändern Sie jede Sequenz von einem oder mehreren Leerzeichen-ähnlichen Zeichen in ein Komma. Der Zeilenumbruch ist im traditionellen (POSIX-Standard - in diesem Fall BSD oder Mac OS X) erforderlich.% Co_de%; GNU sed erlaubt dir zu verwenden:

%Vor%

Ausgabe:

%Vor%

Alternativ, und noch einfacher, lassen Sie sed mit der Datei umgehen und verwenden Sie sed , um den Header hinzuzufügen, wie Sie es in der Gliederung getan haben:

%Vor%

Bei der Überprüfung ist das wahrscheinlich, was ich verwenden würde.

    
Jonathan Leffler 24.05.2016 06:33
quelle

Tags und Links