I am working with a csv file and I want to truncate the numbers with decimals of a specific column. Three of the lines are:
123;rr;2;RRyO, chess mobil;pio;25.766;1;0;24353;21.876;;S
1243;rho;9;RpO, chess yext cat;downpio;67.98;1;0;237753;25.346;;S
1243;rho;9;RpO, chess yext cat;pio;73;1;0;237753;25.346;;S
And I want this output:
123;rr;2;RRyO, chess mobil;pio;25;1;0;24353;21.876;;S
1243;rho;9;RpO, chess yext cat;downpio;67;1;0;237753;25.346;;S
1243;rho;9;RpO, chess yext cat;pio;73;1;0;237753;25.346;;S
I have tried thies code:
sed -e '/^.\+pio$/,/^\..\*;[[:digit:]];[[:digit:]];.\*;.\*;.\*;.\*[[:space:]]$/d' data.csv
but doesnt work... Any suggestion, please?
With your shown samples, please try following. You could simple convert floating points to digits by awk's sprintf function.
awk 'BEGIN{FS=OFS=";"} {$6=sprintf("%d",$6)} 1' Input_file
From man page of awk:
sprintf(fmt, expr-list) Print expr-list according to fmt, and return the resulting string.
I haven't fully reverse-engineered you sed command, but this seems to work:
sed 's/\(.*pio;[0-9]*\)\.[0-9]*/\1/' data.csv
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With