Ich habe eine riesige Textdatei, die so aussieht:
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,3
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,8
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,14
36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,12
Die gewünschte Ausgabe ist folgende:
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-03
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-08
36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-14
36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,MI-12
Ich habe andere relevante Beiträge hier und in anderen Communities ausprobiert, konnte aber nicht genau das bekommen, was ich will.
AKTUALISIEREN
Dies ist die Quer Frage (Ich wollte beide Unix / Perl Antworten und Batch / Powershell Lösungen für diese.) , Die interessanten Antworten hat.
"1 2 3 4" | awk '{$2=$2;print $0}'
ergibt:1 2 3 4
(nur noch 1 Leerzeichen (oder OFS) zwischen den Feldern). ex2)echo "1,,,2,3,,,,4" | awk -F',' '{$2=$2;print $0}'
gibt:1 2 3 4
(Kommas wurden Leerzeichen). Es könnte andere Nebenwirkungen geben. Testen Sie einen anderen Ansatz (z. B. gsub für eine Kopiervariable von $ 0), wenn die Zuweisung eines Feldes nachteilige Nebenwirkungen hat.