Ich habe eine Datei wie diese:
2018.01.02;1.5;comment 1
2018.01.04;2.75;comment 2
2018.01.07;5.25;comment 4
2018.01.09;1.25;comment 7
Ich möchte alle Punkte .
in der zweiten Spalte durch ein Komma ersetzen, ,
wie ich es tun würde, wie sed 's/\./\,/g' file
ich dies verwenden sed
oder vorzugsweise awk
nur für die zweite Spalte anwenden kann, sodass meine Ausgabe folgendermaßen aussehen würde:
2018.01.02;1,5;comment 1
2018.01.04;2,75;comment 2
2018.01.07;5,25;comment 4
2018.01.09;1,25;comment 7
text-processing
awk
sed
nath
quelle
quelle
Ersetzen Sie das dritte Vorkommen des Punktes
quelle
cat
... Warum nicht einfachsed 's/\./,/3' file
? (Auch das Komma muss nichtcat
wäre hier nicht unbedingt nutzlos. Es würde der Operation erlauben, 2 Kerne zu verwenden.cat
, außer Ressourcen zu verbrauchen ? Vielleicht, um einen kleinen Puffer bereitzustellen, aber dann sollte diese Absicht besser durch ein Werkzeug wiebuffer
durch ausgedrückt werdencat
.Erledigt mit der folgenden Methode mit awk
Befehl:
awk -F ";" '{gsub(/\./,",",$2);print $1";"$2";"$3}' filename
Ausgabe
quelle