
Ich habe also einen Text in einer Datei, der fast dem CSV-Format entspricht, aber nicht vollständig. Ich möchte ihn jedoch in eine CSV-Datei umwandeln.
Ich habe zum Beispiel:
cuz,0,1,2,3,-4,abc,a b c,0
Wie kann ich das umwandeln in
"cuz",0,1,2,3,-4,"abc","a b c",0
Jede Hilfe wäre willkommen!
Dank im Voraus.
Antwort1
gaffenAnsatz:
gawk -i inplace -F, '{for(i=1;i<=NF;i++){
if ($i!~/^-?[0-9]*$/) $i=sprintf("\"%s\"",$i); }}1' OFS=',' file
Die file
Inhalte:
"cuz",0,1,2,3,-4,"abc","a b c",0
-i inplace
- erlaubtan Ort und StelleDateiänderung
$i!~/^-?[0-9]*$/
- Mustervergleich nur mit Feldern, die Zeichen außer Zahlen enthalten