【发布时间】:2017-10-20 14:29:54
【问题描述】:
我有一个表格文件,其中的列用空格分隔。我编写了以下 bash 脚本来将空格转换为逗号:
#!/bin/bash
for f in /home/foo/*; do
i=`basename $f`
i2=${i%.*}
cut -f 1,2,3,4 < $f | tr -s [:blank:] ',' > $i2.csv
done
但是我错过了一些东西,我的日期时间在日期和时间之间有一个空格,现在那里有一个逗号。日期时间的逗号是第三个,有没有办法在linux中用空格替换所有行的第三个逗号?
【问题讨论】:
-
sed 's/,/ /3'可能吗?我不确定你的输入文件到底长什么样。 -
@BenjaminW。它看起来像这样:
6000,0,2012-01-01,08:00:00,9,foo,x,0.123下一行将是相同的只是不同的数据 -
@BenjaminW。您的解决方案效果很好,如果您想将其作为解决方案发布,我会接受它作为正确答案。谢谢! :)