sed删除单引号之间的数字

时间:2014-06-13 13:50:07

标签: regex sed

我有一个类似的文件:

35.26660,129.0373,'207636');
35.26667,129.0375,'207636');
35.55555,129.0377,'207636');

我想删除单引号和相应逗号之间的最后一个数字。我希望结果如下:

35.26660,129.0373);
35.26667,129.0375);
35.55555,129.0377);

我尝试使用sed,但我犯了一个错误,我看不出是什么问题。 如果我使用命令:

sed "s/'//g"

然后我只删除引号

如果我使用命令:

sed "s/[0-9]//g"

然后我只删除单引号之间的数字。

更新#1:

抱歉,在几行中我有更多数据:

'abc', '123' 35.26660,129.0373,'207636');

3 个答案:

答案 0 :(得分:3)

您可以使用此sed:

sed -i.bak "s/,'[^']*'//" file

它给出了:

35.26660,129.0373);
35.26667,129.0375);
35.55555,129.0377);

答案 1 :(得分:1)

我愿意:

sed "s/,'[^']*')/)/"

答案 2 :(得分:0)

使用awk

awk -F\' '{$2="";sub(/, +/,"")}1' file
35.26660,129.0373);
35.26667,129.0375);
35.55555,129.0377);