grep (bash) 多行模式

2023-12-05

在 bash (4.3.46(1)) 中,我有一些多行所谓的 fasta 记录,其中每个记录都是由 >name 和以下几行 DNA 序列 ([AGCTNacgtn]) 启动,这里有三个记录:

>chr1
AGCTACTTTT
AGGGNGGTNN
>chr2
TTGNACACCC
TGGGGGAGTA
>chr3
TGACGTGGGT
TCGGGTTTTT

如何使用 bash grep 获取第二条记录?在其他语言中,人们可能会使用:

>chr2\n([AGCTNagctn]*\n)*

在 Bash 中,我尝试使用来自here(以及其他 SO)。这不起作用:

grep -zo '>chr2[AGCTNacgtn]+' file 

结果应该是:

>chr2
TTGNACACCC
TGGGGGAGTA

SOLUTION

在我的系统上,这就是解决方案(几乎是赛勒斯的下面,即没有管道到第二个grep . ):

grep -Pzo '>chr1\n[AGCTNacgtn\n]+' file

使用 GNU grep:

grep -Pzo '>chr2\n[AGCTNacgtn\n]+' file | grep .

Output:



>chr2
TTGNACACCC
TGGGGGAGTA
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

grep (bash) 多行模式 的相关文章

随机推荐

  • 如何在 WPF 绑定中替换 StringFormat 中的字符串

    我需要更换一个 with n 新行 在我的字符串中 我想在客户端执行此操作StringFormat
  • R 无法使用 hist() 因为由于负十进制数而导致“内容不是数字”?

    我是 R 新手 我正在尝试使用 hist 绘制 100 000 个数字列表的直方图 如下所示 0 764 0 662 0 764 0 019 0 464 0 668 0 464 但我不能这样做 因为 R 抱怨内容不是数字 这是我尝试过的 我
  • 上传文件时nodejs和express错误,“无法读取未定义的属性”

    编辑 为了清楚起见 我希望将文件上传到服务器 无论是图片还是一些 txt 我已经查看了与此类似的其他常见问题 但无法缓解我的问题 目的是创建文件上传功能 前端看起来像这样 div class holdingDiv div
  • 位置粘在头上

    你可能知道 position sticky 已登陆Webkit demo 到目前为止 我可以看到这只适用于父元素 但我想知道是否可以在带有表格的滚动 div 中使用它 所以它需要 监听 的滚动事件div 不是table 我知道我可以使用 j
  • 线程 NSTimer

    我知道有关此主题的许多问题 因为我自己之前也问过一个问题 但是 我的问题现在似乎与线程部分更相关 我有以下2种方法 void restartTimer NSAutoreleasePool pool NSAutoreleasePool all
  • 德尔福嵌入式 Chrome

    有人有使用delphi嵌入式chrome的经验吗 Delphi铬嵌入式 如何访问其 HTML 文档 就像给 Editbox 赋值一样 See 演示 guiclient目录为例 更新 设置输入字段文本的示例iGoogle page proce
  • TCP 连接似乎接收到不完整的数据

    我已经设置了一个简单的 TCP 文件传输 一切似乎都工作正常 除了接收到的文件大小偶尔小于发送的文件大小 接收到的文件的大小似乎没有任何规律 在下面的代码中 请注意典型的客户端 服务器滚动是相反的 我的客户端代码如下 define kMax
  • VBA 中的类定义如何工作

    当我尝试学习 VBA 时 课程给我带来了一些沉重的痛苦 以下是我的一本 VBA 书籍 VBA 和宏 Microsoft Excel 2010 Bill Jelen 第 497 页 中的一些内容 这绝对是奇异而奇特的 我们在VBE中打开一个类
  • 嵌入 Python:对“_imp__Py_Initialize”的未定义引用

    我正在尝试将 python 3 7 0 嵌入到 C 应用程序中并使用 MinGW 进行编译 include Dependencies include Python h int main PyObject myPointer Py Initi
  • Java 使用 JAXB 解组对象列表

    我的 XML 如下所示
  • 在Java中,为什么 ((A)b).disp() 调用派生类方法 disp() 而不是基类方法 disp() ?

    我正在学习 Java 是一个初学者 请帮我找出为什么这不起作用 在下面的程序中 我的目标是从主方法调用基类方法 而不在派生类方法中使用 super 关键字 如代码所示 main方法中的 A b num 工作得很好 并且按预期输出 100 但
  • Android 全文搜索和 ListAdapter

    我已经有一个使用 SQLite 数据库和列表适配器的应用程序 我正在尝试更新我的应用程序以使用全文搜索功能 但正在努力寻找问题的答案 基本上 当我使用必要的 id 列创建虚拟表时 数据库会将其转换为文本字段 并且它不再是自动增量主键 我如何
  • 在python中将字符串日期转换为日期格式?

    如何在Python中将下面的字符串日期转换为日期格式 input date 15 MARCH 2015 expected output 2015 03 15 我尝试使用datetime strftime and datetime strpt
  • Python 中的常量究竟由什么构成?

    PEP 8 规定 that 常量通常在模块级别定义并写在所有模块中 大写字母用下划线分隔单词 例子包括MAX OVERFLOW and TOTAL 我知道这只是一个命名约定 但我很想知道是否有官方或广泛接受的定义来定义常量与半私有变量的实际
  • 将子进程的标准输出重定向到 2 个或更多子进程的标准输入

    基本上我想学习如何使用stdout of one subprocess say proc1 as stdin2 个或更多其他subprocesses say proc2 proc3 在Python中 你好 我需要zcat gz 文件并使用发
  • 带枚举的单例与带双重检查锁定的单例

    我想知道在多线程环境中实践中哪一个更好 我将 Singleton 理解为 Enum 类型在加载类时创建一个实例 除此之外我没有看到任何其他重要的东西 有什么优点和缺点吗 单例作为Enum type public enum Singleton
  • 如何分离由 subprocess.call 运行的程序?

    我正在使用 subprocess call 使用默认应用程序打开 pdf 文件 如下所示 subprocess call xdg open pdf stderr STDOUT 但是 当运行该进程时 该进程已附加到终端 我想将其分离 基本上
  • Windows 中是否有相当于 cron 的工具?

    我想知道是否有同等的cron在 Windows 中以及如何使用 PHP 以编程方式使用它 Windows 有Scheduled Tasks控制面板小程序 或更高版本的 Windows 上的管理控制台插件 但您也可以通过以下方式访问它scht
  • 防止应用程序升级时数据丢失

    我们开发了一款 Android 应用程序 并通过 MDM 移动设备管理 Soti Mobi 控制 推送新的安装和更新 发送的更新会静默升级应用程序 无需用户确认 因此 如果用户正在使用应用程序 应用程序会自动停止 升级并从头开始启动 因此用
  • grep (bash) 多行模式

    在 bash 4 3 46 1 中 我有一些多行所谓的 fasta 记录 其中每个记录都是由 gt name 和以下几行 DNA 序列 AGCTNacgtn 启动 这里有三个记录 gt chr1 AGCTACTTTT AGGGNGGTNN