免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2791 | 回复: 15
打印 上一主题 下一主题

[文本处理] 请问如何使用ask删除指定行的指定逗号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-24 08:39 |只看该作者 |倒序浏览
我有如下文本:
Symbol,Date,Time,Close,Volume,Amount,MartchItem,BSFlag,BidPrice0,BidPrice1,BidPrice2,BidPrice3,BidPrice4,BidPrice5,BidPrice6,BidPrice7,BidPrice8,BidPrice9,nAskPrice0,nAskPrice1,nAskPrice2,nAskPrice3,nAskPrice4,nAskPrice5,nAskPrice6,nAskPrice7,nAskPrice8,nAskPrice9,BidVolume0,BidVolume1,BidVolume2,BidVolume3,BidVolume4,BidVolume5,BidVolume6,BidVolume7,BidVolume8,BidVolume9,AskVolume0,AskVolume1,AskVolume2,AskVolume3,AskVolume4,AskVolume5,AskVolume6,AskVolume7,AskVolume8,AskVolume9
SZ000001,20100105,91514314,0.0,0,0,0, ,237100,0,0,0,0,0,0,0,0,0,237100,0,0,0,0,0,0,0,0,0,8000,0,0,0,0,0,0,0,0,0,,8000,5101,0,0,0,0,0,0,0,0
SZ000001,20100105,91542342,0.0,0,0,0, ,237100,0,0,0,0,0,0,0,0,0,237100,0,0,0,0,0,0,0,0,0,9500,0,0,0,0,0,0,0,0,0,,9500,3601,0,0,0,0,0,0,0,0
SZ000001,20100105,91632392,0.0,0,0,0, ,237100,0,0,0,0,0,0,0,0,0,237100,0,0,0,0,0,0,0,0,0,10500,0,0,0,0,0,0,0,0,0,,10500,5451,0,0,0,0,0,0,0,0

第一行是标题行,下面的是具体的数据。但是下面的数据多出了一列出现了两个逗号相连的情况:这种", ,"是正确的数据;这种",,"是不正确的数据。我希望把后面的那种情况的第二个逗号删除。请问用AWK如何操作。谢谢

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
2 [报告]
发表于 2014-10-24 08:52 |只看该作者
回复 1# up_ing


    sed 's/,,/,/'

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2014-10-24 08:53 |只看该作者
回复 1# up_ing
  1. sed 's/, ,/,/g' file
复制代码

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
4 [报告]
发表于 2014-10-24 08:55 |只看该作者
回复 1# up_ing


    这个还是用sed更好一点儿

  1. sed 's/,,/,/g' file
复制代码

论坛徽章:
0
5 [报告]
发表于 2014-10-24 08:56 |只看该作者
回复 2# yinyuemi
这么简单我都没想到....太感谢了!


   

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
6 [报告]
发表于 2014-10-24 08:59 |只看该作者
回复 3# ly5066113

这种", ,"是正确的数据;这种",,"是不正确的数据。
{:3_193:}
   

论坛徽章:
0
7 [报告]
发表于 2014-10-24 09:06 |只看该作者
谢谢大家 不过我使用sed 's/,,/,/g' file.csv > file.csv这个命令之后,文件变空了,是什么原因呢?
有什么解决方法吗

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
8 [报告]
发表于 2014-10-24 09:08 |只看该作者
回复 7# up_ing


    sed -i 's/,,/,/'

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
9 [报告]
发表于 2014-10-24 09:17 |只看该作者
回复 5# up_ing

    awk的写法:
  1. awk -vFS='[,]+' -vOFS=, 'NR>1{NF+=0}1' file
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
10 [报告]
发表于 2014-10-24 09:17 |只看该作者
回复 7# up_ing

一个文件不能既是输入,又是输出,sed有个-i参数可以直接修改文件。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP