bash - Sed/Awk - 在模式 x 和 y 之间拉线

标签 bash sed awk

我有一些大型 CSV 文件,我想在其中提取包含模式“x”的 X 行和包含模式“y”的 Y 行之间的所有数据

例如:

other_data
Header
data
data
data
Footer
other_data

我希望能够将 Header -> Footer 之间(包括)之间的所有内容通过管道传输到新文件。

谢谢!

最佳答案

使用 awk 非常简单:

awk '/Header/ { show=1 } show; /Footer/ { show=0 }'

基本上将状态保存在名为 show 的变量中。当我们点击页眉时,我们将其打开,点击页脚时,我们将其关闭。当它打开时,show 规则执行打印记录的默认操作。

关于bash - Sed/Awk - 在模式 x 和 y 之间拉线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769411/

相关文章:

bash - 多个文件搜索上的 Grep 颜色

linux - 从文件中提取子字符串并将它们存储在 shell 变量中

regex - 使用 MAWK 时正则表达式与字符串不匹配

linux - 在 bash 中的不同列上运行不同的管道

linux - Bash递归地在每个目录上执行命令

bash - mvn clean 在终端中运行良好,但在 cron 和 bash 文件中运行不正常

c - 找不到 perl 命令

regex - sed 多行搜索替换

linux - 如何合并文件并搜索结果?

unix - 在unix中分隔段落