如何使用 awk 打印出最后一个模式范围?

2023-12-11

我的文件是这样的:

/开始模式/
第一场比赛
/结束模式/

其他文字

/开始模式/
第二场比赛
/结束模式/

其他文字

/开始模式/
这就是我 想要打印出来
/结尾 图案/
其他文字

如何使用 awk 打印出最后一场比赛?我只知道如何打印所有这些匹配项。


取决于您是否想要打印包含分隔符的行:

$ awk '
    /begin pattern/ { rec=""; f=1 }
    f { rec=rec $0 ORS; if (/end pattern/) {last=rec; f=0} }
    END { printf "%s", last }
' file
/begin pattern/
This is the one I want to print out
/end pattern/

or:

$ awk '
    f { if (/end pattern/) {last=rec; f=0} rec=rec $0 ORS }
    /begin pattern/ { rec=""; f=1 }
    END { printf "%s", last }
' file
This is the one I want to print out

这确保您打印的是一个以begin pattern并以end pattern所以你不只是打印一系列后面的行start pattern没有end pattern如果输入文件末尾存在这样的内容。如果输入中不存在匹配的块,它还可以确保您不会打印空行。

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

如何使用 awk 打印出最后一个模式范围? 的相关文章

  • 如何将包含空格的参数传递给包含 gawk match() 的脚本?

    gt gawk match foo bar junk 是一个合法的命令 我想传递参数foo bar在 shell 脚本中添加它 foobar sh其中有 bin bash gawk match 1 junk 不起作用 gt foobar s
  • 比较不同文件中的列并打印那些不匹配的列

    我有两个文件 file1 和 file2 我想将 file1 的几列 1 2 3 和 4 与 file2 的几列 1 2 3 和 4 进行比较 并打印 file2 中与 file1 中任何行都不匹配的那些行 E g file1 aaa bb
  • awk 排序多维数组[重复]

    这个问题在这里已经有答案了 GNU awk 支持多维数组 gnu org software gawk manual gawk Arrays of Arrays q 1 1 dog q 1 2 999 q 2 1 mouse q 2 2 77
  • 在 awk 中按特定顺序打印文件

    我正在关注这个链接https stackoverflow com a 54599800 10220825 https stackoverflow com a 54599800 10220825 file txt Iteration 1 RA
  • Bash 脚本问题

    我可以很好地运行这个命令 并得到我想要的输出 ifconfig eth0 grep HWaddr awk print 5 但是 当我将命令设置为变量并打印该变量时 出现错误 CASS INTERNAL ifconfig eth0 grep
  • awk 比较多个文件

    我有2个文件 file1 1 apple 2 mango 3 banana 44 orange file2 1 apple 22 31 xyz 2 man 3 banana 44 oran 44 orange 我需要使用第 1 列和检查第
  • 我如何在 ruby​​ 中执行范围正则表达式,例如 awk /start/,/stop/

    我想做一个 AWK 风格的范围正则表达式 如下所示 awk hoststatus file 在 AWK 中 这将打印文件中两个模式之间的所有行 hoststatus host name myhost modified attributes
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • 如何让“grep -zoP”单独显示每个匹配项?

    我有一个此表格的文件 X this is the first match blabla X this is the second match and here we have some fluff 我想提取 X 之后和相同标记之间出现的所有
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • 使用正确的头打印文件名

    我想获取当前目录中的文件名 使得文件的第一行等于myWord 我想结合find type f命令与 exec选项与head 1 filename但无济于事 有没有一些聪明的 单行的解决方案来解决这个问题 您可以使用find with awk
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • bash:清理三个文件的外连接,保留文件成员资格

    考虑以下三个文件 其标题位于第一行 file1 id name in1 1 jon 1 2 sue 1 file2 id name in2 2 sue 1 3 bob 1 file3 id name in3 2 sue 1 3 adam 1
  • 使用 awk 解析日志文件

    我尝试使用以下代码解析日志文件 if line match then awk 2 vFiler echo vFiler 解释 有一些行以这样的模式开头 或 vol 后跟名称 我想找到所有以 或 vol 并将后面的字符串设置为等于变量 但我真
  • 使用 awk 如何组合两个文件中的数据并将第二个文件中的值替换到第一个文件中?

    有什么想法如何使用 awk 进行以下操作吗 两个输入文件 data txt和keys txt data txt 包含一些数据 A 1 B 2 A 3 keys txt 包含 键 值 对 本例中的 C 不是 data txt 的一部分 但 a
  • 使用 sed 替换复杂模式

    我想使用 sed 命令替换模式 要删除的图案如下所示 带有一个空格 var 0xaae8 x6A x6F x69 x6E x72 x65 x76 x65 x72 x73 x65 x73 x70 x6C x69 x74 x3E x74 x70
  • AWK 将十进制转换为二进制

    我想使用 AWK 将文件中的十进制数字列表转换为二进制 但似乎没有内置方法 示例文件如下 134218506 134218250 134217984 1610612736 16384 33554432 这是一个 awk 方式 为您的乐趣而函
  • awk 反转行和单词

    我对编程语言之类的东西很陌生 所以我必须用 awk 反转文件中的所有行以及这些行中的所有单词并将其打印出来 要反转的 File1 aa bb cc foo 做为 File1 的输出打印应该是这样的 就像 foo 一样 cc bb aa 我在

随机推荐

  • 无法使用 TesseractOCRConfig Apache Tika 提取扫描的 pdf

    我的 pdf 包含扫描图像 我想从中提取文本 我尝试过的 我尝试使用 AutoDetectParser 但没有输出 我按照中提供的解决方案进行操作Apache Tika 提取扫描的 PDF 文件还有 Apache Tika Jira 位于h
  • 使用 python 脚本发送嵌入图像的 html 电子邮件

    我是Python新手 我想发送基于 html 的电子邮件 并在电子邮件正文的左上角嵌入公司徽标 使用以下代码 电子邮件绝对可以正常工作 但不再附加嵌入的图像 不知道我哪里做错了 任何人都可以帮我吗 import smtplib from e
  • 在Python中读取文件并将值存储到变量中

    假设我有一个文件名 test txt 其中包含以下数据 AA11 BB11 CC11 DD11 AA22 BB22 CC22 DD22 AA33 BB44 CC44 DD33 在 bash shell 脚本 中我可以执行以下操作 cat t
  • 在以下任何来源中均未找到 Bumblebee Android studio 插件 [id: 'com.android.application', 版本: '7.1.0', apply: false]:

    我将我的 android studio 从 Android studio Fox 更新为 Android studio Bumblebee 2021 1 1 但我的项目都不能运行Android 工作室大黄蜂 2021 1 1 我最终得到了这
  • 使用 CSS 实现内部文本阴影

    我目前正在使用 CSS3 并尝试实现这样的文本效果 黑色模糊的内部阴影 但我找不到创建文本阴影的方法inside文本 我想知道这是否仍然可能 因为 box shadow 元素能够像这样在内部渲染阴影 box shadow inset 0px
  • Google 云存储签名 URL 上传 + Dropzone.js

    我正在尝试使用 Dropzone js 使用签名 URL 直接上传到 Google Cloud Storage 我已经设法覆盖添加到 Dropzone 的每个文件的上传 URL Chrome 开发工具说PUT请求正在发生 但我不可避免地收到
  • SOCKS5 连接超时 (GCDAsyncSocket)。 (OpenFire、XEP-0065 和 iOS XMPPFramework)

    Problem 我正在尝试使用 iOS XMPPFramework 和 OpenFire 服务器进行 TURNSocket XEP 0065 SOCKS5 我希望能够发送和接收文件 然而 在大多数情况下 接收方不会返回任何响应 我目前怀疑问
  • 如何在手机上点击网页链接时触发电话

    我需要为移动设备构建一个网页 只有一件事我还没弄清楚 如何通过点击文字来触发电话 有没有我可以输入的特殊网址 例如mailto 电子邮件标签 设备特定的解决方案不是首选 我知道 iPhone 会自动识别电话号码并为此创建一个链接 但如果也可
  • 自动布局,无需使用 Storyboards 或 Interface Builder

    我正在构建一个应用程序 我想完全避免使用 Storyboard 和 Interface Builder 因此所有 UI 都应该在代码中指定 我在用纯布局 一个很好的配置 APIAutoLayout限制 然而 我的问题是 它看起来像AutoL
  • 将非托管 char** 封送至托管 string[]

    我在 DLL 文件中有一个 C 函数 它是使用多字节字符集选项编译的 declspec dllexport void TestArray char OutBuff int Count int MaxLength for int i 0 i
  • 如何将图像传递到 html 文本区域 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我想知道如何将图像从图像库传递到 html 文本区域 我应该使用 jquery javascript 吗 你知道关于这个函数的一些好的教程吗 通过操作系统内置选择器选择图像后
  • Julia 1.0 UndefVarError - 变量范围

    我将从 Julia 0 7 升级到 1 0 看来 Julia 对变量范围的规则从 0 7 更改为 1 0 例如 我想运行一个像这样的简单循环 num 0 for i 1 5 if i 3 num num 1 end end print nu
  • 如何用纯 JavaScript 制作这样的工具提示

    我需要使用 JS 而非 JQuery 插件来制作一个简单的工具提示 如下图所示 Click on image should open this tooltip and click again on the same image to clo
  • 反序列化时如何忽略 JSON 对象数组中的空白数组?

    我正在使用 Json NET 反序列化 JSON 我怎样才能忽略一个空白数组意外发生在对象数组反序列化期间 我已经在这个网站上测试了来自第三方的以下 JSONhttp json parser online fr 确认它是格式良好的 tota
  • 每个 google-maps api 密钥的引荐来源限制

    我们为超过 2500 家客户提供网站 CMS 解决方案 几乎所有网站都有谷歌地图模块 因此 自从谷歌改变了其地图使用政策以来 所有这些网站的地图模块日复一日地出现错误 我们需要想出一些快速 但肮脏 的解决方案 我们决定使用多个 api ke
  • pip Python 3 权限错误

    我在 Mac OS X 上使用 Python 3 一切都很完美 我曾经安装这样的软件包 pip install somePackage 但 IDLE 停止工作 所以我不得不重新安装它 之后 当我运行 pip 时 我得到了pip is not
  • numpy - ndarray - 如何删除基于另一个数组的行

    我想从基于另一个数组的 ndarray 中删除行 例如 k 1 3 99 n 1 a 2 b 3 c 4 c 99 a 100 e 期望结果 out 2 b 4 c 100 e k 中包含值的行的第一列将被删除 您可以使用np in1d创建
  • Shiny:使用 selectizeInput 选择组

    我有这样的愿景 我有一个选择器 用户可以单击该组来选择该组中的所有项目 例如 请参见this 当您单击输入框 X2 或 X4 时 我希望用户能够单击 西部 以选择加利福尼亚州和华盛顿州 理想情况下 我希望用户能够选择多个区域 并且能够自定义
  • Javascript 返回 OR(||) 运算的字符串

    我无法理解这一点 以下是使用 OR 运算符的表达式 var subCond1 adj getData relationEnabled true adj getData unhideIfHidden adj getData hlFixed t
  • 如何使用 awk 打印出最后一个模式范围?

    我的文件是这样的 开始模式 第一场比赛 结束模式 其他文字 开始模式 第二场比赛 结束模式 其他文字 开始模式 这就是我 想要打印出来 结尾 图案 其他文字 如何使用 awk 打印出最后一场比赛 我只知道如何打印所有这些匹配项 取决于您是否