【发布时间】:2021-07-22 01:15:16
【问题描述】:
我正在处理一个 csv 文件,我想用特定列的小数截断数字。 其中三行是:
123;rr;2;RRyO, 国际象棋移动;pio;25.766;1;0;24353;21.876;;S
1243;rho;9;RpO, 国际象棋 yext 猫;downpio;67.98;1;0;237753;25.346;;S
1243;rho;9;RpO, 国际象棋 yext 猫;pio;73;1;0;237753;25.346;;S
我想要这个输出:
123;rr;2;RRyO, 国际象棋移动;pio;25;1;0;24353;21.876;;S
1243;rho;9;RpO, 国际象棋 yext 猫;downpio;67;1;0;237753;25.346;;S
1243;rho;9;RpO, 国际象棋 yext 猫;pio;73;1;0;237753;25.346;;S
我已经尝试过这个代码:
sed -e '/^.\+pio$/,/^\..\*;[[:digit:]];[[:digit:]];.\*;.\*;.\*;.\*[[:space:]]$/d' data.csv
但是没有用... 有什么建议吗?
【问题讨论】:
-
sed -E 's/^(([^;]*;){5}[0-9]*)[^;]*/\1/' data.csv可能会。
标签: awk sed replace decimal truncate