awk - 如何使用 grep 或 awk 打印出特定的块?
问题描述
我想打印出一段具有特定开始和结束模式的文本文件。
例如 file.txt 有
Start X1
<stuff_for_x1>
END
Start Y1
<stuff_for_y1>
END
Start X2
<stuff_for_x2>
END
我希望我的输出是:
Start X1
<stuff_for_x1>
END
Start X2
<stuff_for_x2>
END
其中打印所有以“Start X”开头并以“END”结尾的块。
我不知道如何解决这个问题。您的帮助将不胜感激:)
解决方案
使用awk选择以 ( ^
) "Start X" 和 "END"开头的所有行
awk '/^Start X/,/^END/' file.txt
推荐阅读
- firebase - 错误“包:cloud_firestore/src/query.dart”:断言失败:第 226 行 pos 12:“documentSnapshot != null”:不正确。扑火商店
- json - 使用本机消息通过 Delphi 从 Thunderbird 复制电子邮件时遇到编码问题
- javascript - 如何在 Wordpress 中根据标题和内容搜索产品?
- c++ - 来自协议缓冲区消息的普通结构
- javascript - 使用 yargs api 的动态和类型安全的函数参数
- string - 将相同的字符串加在一起(MATLAB)
- input - 如何在 Octave 中从键盘读取功能并稍后使用?
- amazon-cloudformation - 我可以使用 CloudFormation 中的映射来定义参数吗?
- python - Python 3 清理和规范化 URL 列表
- c++ - 如何针对自定义 CUDA 安装使用 OpenCL 构建 GDAL?