原来sed不支持非贪婪匹配
2024-09-08 19:37:55
场景
从GISAID上面批量下载下来的序列id很长,格式如下:
太长了,并且makeblastdb的时候-parse_seqids参数会导致报错,大概是长度太长不符合要求无法处理之类的。
不作处理去掉-parse_seqids也没问题,不过怕后期引起不必要的麻烦,这个时候就需要处理一下这些id
sed
想着直接sed处理一下就好,因为有两个“|”存在,结果发现sed没法做到非贪婪……
grep '>' ../gisaid.fasta|sed s/hMpxV.*?\|//g|less
没效果啊~
添加-r
用扩展的正则也没用~
看help,sed
也没有-p
参数……
原来sed并不支持“非贪婪”的正则,有地方是这么解释的:
https://www.codenong.com/40117611/
https://qa.1r1g.com/sf/ask/2808232801/
大概就是说非贪婪匹配是通过perl的PCRE引入主流的,而sed的规范比PCRE早了好几年……
有点难以令人信服……
解决
不支持就绕道吧,不要中间有“|”就得了
grep '>' ../gisaid.fasta|sed s/hMpxV[^\|]*\|//g|less
就这样吧
sed -i s/hMpxV[^\|]*\|//g gisaid.fasta
sed -i s/\|.*//g gisaid.fasta
最新文章
- EF简单的添加修改删除基本语法
- 【GO】GO语言学习笔记一
- java学习笔记----枚举测试题
- C++Primer笔记(1)
- VS2015 企业版不支持 JavaScript 语法高亮、智能提醒
- 说说VS 2015 RC最新开发工具的体验
- stl——vector详解
- 【复制】【编码】MySQL复制中的编码问题
- SpringSecurity自定义AuthenticationProvider和AuthenticationFilter
- 【THUSC2017】【LOJ2981】如果奇迹有颜色 DP BM 打表 线性递推
- iTOP-i.MX6Q开发板支持安卓Android6.0系统
- react native 打包Ignoring return value of function declared with warn_unused_result attribute
- bozj 1823(未完成)
- 洛谷 P2440 木材加工【基础二分】
- 搞IT,算法编程不错的学习网址 & 一些专栏博客大神的地址(汇总)
- ES6中Promise的入门(结合例子)
- MVC 表单提交
- DevExpress v18.1新版亮点——Windows 10 UWP篇
- 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)
- eclipse egit 更新未提交文件的方法
热门文章
- 斐波那契数python实现迭代循环两种方法
- office365启动突然提示注册表错误,无法打开“规则”配置的解决方案
- springboot集成es7(基于high level client)
- SAP Process Orchestration (SAP PO): The Comprehensive Guide (2nd Edition) (SAP PRESS)
- h5项目
- viewpager加fragment可滑动加radio跟随滑动
- SecurityRandom随机数生成
- Java流程控制之Scanner的进阶使用
- iOS开发之定时器和tableview滑动阻塞问题
- 解决appium-doctor报各种 cannot be found问题