免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3739 | 回复: 11

[文本处理] 求救:如何将以特殊字符打头的行删掉? [复制链接]

论坛徽章:
0
发表于 2015-03-22 08:13 |显示全部楼层
如题,我有个文件内容是这样:
#dfdf
#dgffgr65788  dfrg  f
#sdsffr:awe fh5,ryt57878
t1.1      171673   100.00  97      0       0       13      109     813     909     7e-55    206
c1.1      354173   20.00  111     1       0       24     6578     433     132324     0    32324
#sdefdf
#ad,r65788  dfrg  f
#adwr:awe fh5,ryt57878
t1.1     190092   75.00   212     35      3       249     458     165     360     9e-86    303
...

请问大神,怎样将以#打头的行去掉呢?只剩下:
t1.1      171673   100.00  97      0       0       13      109     813     909     7e-55    20
c1.1      354173   20.00  111     1       0       24     6578     433     132324     0    32324
t1.1     190092   75.00   212     35      3       249     458     165     360     9e-86    303
...

另外,得到上面的新文件后,我想进一步把第11列的值为0的行再提取出来(tab隔开的),只有这行符合条件:
c1.1      354173   20.00  111     1       0       24     6578     433     132324     0    32324

又该怎么做呢?求大神支招!

论坛徽章:
0
发表于 2015-03-22 08:25 |显示全部楼层
  1. awk '!/#/{if($11==0)print}' file
复制代码

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-03-22 08:51 |显示全部楼层
本帖最后由 我是一隻羊 于 2015-03-22 09:18 编辑
  1. awk '$11==0' inputfile
复制代码
  1. sed -nr '/^[^#]([^\t]+\t){10}0\t/p' inputfile
复制代码
  1. grep -P '^[^#]([^\t]+\t){10}0\t' inputfile
复制代码

论坛徽章:
0
发表于 2015-03-22 23:14 |显示全部楼层
谢谢大家!!!

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
发表于 2015-03-23 13:05 |显示全部楼层
回复 1# xunong

  1. sed -n '/#/!{p}'
复制代码

  1. sed -n '/#/!{p}' | awk '$11==0'
复制代码

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
发表于 2015-03-25 11:08 |显示全部楼层
  1. awk '/^#/{$0="";next}END{if($11="0")print}' urfile
复制代码

论坛徽章:
0
发表于 2015-03-29 19:49 |显示全部楼层
  1. grep -Ev '^#' filename | awk '$11==0{print}'
复制代码
  1. sed -r '/^#/d' filename | awk '$11==0{print}'
复制代码

论坛徽章:
1
白银圣斗士
日期:2015-11-23 10:45:24
发表于 2015-03-31 16:49 |显示全部楼层
本帖最后由 helloclei 于 2015-03-31 16:52 编辑
  1. sed '/^#/d'  file
复制代码
  1. awk '{if($11==0)print}' file
复制代码

求职 : Linux运维
论坛徽章:
3
戌狗
日期:2015-01-11 13:27:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯纪念徽章
日期:2015-05-08 15:03:30
发表于 2015-03-31 17:03 |显示全部楼层
  1. 1.sed -n '/^[^#]/p' test.txt
  2. 2.awk '$11==0' test.txt
复制代码

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2016-10-26 16:19:04
发表于 2016-08-30 11:31 |显示全部楼层
awk '!/^#/{if($11==0)print $0}'  file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP