Wenn ich Zeilen wie folgt aus:Entfernen nur einige * * fullstops aus einer CSV-Datei
1,987372,987372,C,T,.,.,.,.,.,.,.,.,1,D,.,.,.,.,.,.,.,1.293,12.23,0.989,0.973,D,.,.,.,.,0.253,0,4.08,0.917,1.048,1.000,1.000,12.998
1,987393,987393,C,T,.,.,.,.,.,.,.,.,1,D,.,.,.,.,.,.,0.152,1.980,16.09,0.999,0.982,D,-0.493,T,0.335,T,0.696,0,5.06,0.871,0.935,0.998,0.997,16.252
, wie ich alle Instanzen ,.,
ersetzen können mit ,?,
I tatsächlichen Dezimalstellen erhalten wollen in die Zahlen, so kann ich nicht nur
tun abersed 's/./?/g' file
wenn dabei:
sed 's/,.,/,?,/g' file
dies scheint nur in einigen Fällen zu funktionieren. es gibt immer noch Fälle von ,.,
herumhängen.
Wer hat irgendwelche Zeiger?
Dank
danke Kenavoz. Das hat funktioniert. Ich vermutete, dass dies der Fall war. Wenn es dir nichts ausmacht, kannst du erklären, wie jeder Teil funktioniert? Ich verstehe nur wirklich 's \\\\\\\\\ '. und warum vor dem '. – brucezepplin
alles was ich sagen kann ist - sehr schlau! Nochmals vielen Dank – brucezepplin
IMO ist es irgendwie klobig, zwei Pässe zu nehmen, wenn alles, was benötigt wird, ist ein richtiges Regex-Muster für es in einem Rutsch zu arbeiten – Borodin