免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 938 | 回复: 6

[文本处理] 怎么删除包含特定字符的行 [复制链接]

论坛徽章:
0
发表于 2019-01-26 22:12 |显示全部楼层
数据格式如下:>chr1
AAAAAAAAAA
CCCCCCCCCC
TTTTTTTTTT
>chr2
CCCCCCCCCC
GGGGGGGGGG
>chr_un
GGGGGGGGGG
AAAAAAAAAA
>chr3
AAAAAAAAAA

我想做的是如果>后的字符包含'_'或者'*',就删除掉从该行到下一个>为止的所有行
如上结果为:
>chr1
AAAAAAAAAA
CCCCCCCCCC
TTTTTTTTTT
>chr2
CCCCCCCCCC
GGGGGGGGGG
>chr3
AAAAAAAAAA



请问一下有没有什么简单一点的办法?

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2019-01-27 09:32 |显示全部楼层
#,; PWD=/mnt/i/je-d/sou-d
11362  # 2019-01-27 09:33:17 1548552797 # echo -e "1 2\n<a1 \n34\n<a2 \n56 \n<a3" | awk 'BEGIN {RS = "\n";ORS = "\n"} !/34/ {print $0}'
1 2
<a1
<a2
56
<a3

论坛徽章:
0
发表于 2019-01-28 09:50 |显示全部楼层
回复 2# 1cpuer

这个好像不太对吧,按照你这个34没了,但是<a2还在

论坛徽章:
5
CU十四周年纪念徽章
日期:2017-08-28 17:16:1915-16赛季CBA联赛之北控
日期:2018-03-29 11:39:0615-16赛季CBA联赛之上海
日期:2018-05-21 10:46:10技术图书徽章
日期:2018-09-03 13:54:18技术图书徽章
日期:2018-09-03 13:54:28
发表于 2019-01-28 11:53 |显示全部楼层
回复 1# elaine2017

awk '/^>/{if($0~/[_\*]/) p=0 ; else p=1}p' file

论坛徽章:
0
发表于 2019-01-28 13:53 |显示全部楼层
  1. $ awk '/^>.*_/{a=0; next} /^>.*/{a=1}  a==1' 1.txt
  2. >chr1
  3. AAAAAAAAAA
  4. CCCCCCCCCC
  5. TTTTTTTTTT
  6. >chr2
  7. CCCCCCCCCC
  8. GGGGGGGGGG
  9. >chr3
  10. AAAAAAA_AAA
复制代码

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2019-01-28 16:55 |显示全部楼层
回复 3# elaine2017

歉意;跑了我那个,没跑你那个。
楼下有意思的

论坛徽章:
0
发表于 2019-01-29 15:51 |显示全部楼层
本帖最后由 本友会机友会摄友会 于 2019-01-29 16:13 编辑

powershell做这道题,贼简单。读取文件成字符串,不换行即可。
用-raw
ps第8课:用powershell读写文本、二进制文件。
http://bbs.chinaunix.net/thread-4266404-1-1.html

然后以大于号分割成字符串。
这道题就变成了,if ($a -contains '*' -or $a -contains '_')
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP