猛击。如何获取标签之间的多行文本

2023-12-05

我正在尝试获取文件中两个标签之间的文本。但是,如果脚本找到开始标记但未找到结束标记,则它将从开始标记打印文件到文件末尾。

例如文本是:

aaa
TAG1
some right text
TAG2
some text2
TAG1
some text3
some text4

和这样的脚本:

awk "/TAG1/,/TAG2/"

or

sed -n "/TAG1/,/TAG2/p"

比输出将是:

some right text
some text3
some text4

但我需要这个:

some right text

切勿使用范围表达式,因为它们会使琐碎的任务稍微简短一些,但当事情变得稍微更有趣时,需要完全重写以避免重复的条件,就像您的情况一样。始终使用标志来代替:

$ awk 'f{ if (/TAG2/){printf "%s", buf; f=0; buf=""} else buf = buf $0 ORS}; /TAG1/{f=1}' file
some right text
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猛击。如何获取标签之间的多行文本 的相关文章

  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • AWK数组初始化

    是否可以使用常见的方法在AWK中初始化数组list syntax array val1 val2 val3 或者是否必须使用索引值 syntax array 0 val1 array 1 val2 array 2 val3 不 不 您可以这
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • Bash - 在与当前终端分开的另一个终端中启动命令的新实例

    我有一个简单的 bash 脚本 test sh 设置如下 bin bash args if args 0 check capture then watch n 1 ls lag home user capture0 watch n 1 ls
  • 如何使用waf构建共享库?

    我想使用构建一个共享库waf http code google com p waf 因为它看起来比 GNU 自动工具更容易 更简洁 到目前为止 我实际上有几个与我开始编写的 wscript 有关的问题 VERSION 0 0 1 APPNA
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 正则表达式中的“g”标志是什么意思?

    的含义是什么g正则表达式中的标志 之间有什么区别 g and g用于全局搜索 这意味着它将匹配所有出现的情况 通常你还会看到i这意味着忽略大小写 参考 全局 JavaScript MDN https developer mozilla or
  • 配置tomat的server.xml文件并自动生成mod_jk.conf

    我在用apache 2 2 15 and tomcat6 6 0 24 on CentOS 6 4并希望使用 tomcat 服务器的功能 通过添加以下内容自动生成 mod jk conf 文件
  • 在 AIX 中使用 Mailx 通过电子邮件发送 SQLPlus 查询结果的 Shell 脚本

    我有我需要的命令 如果我在提示符下执行这些命令 一切都会按预期进行 SQLPlus 运行查询 将结果导出到文件 然后 Mailx 将该文件通过电子邮件发送给我 sqlplus username pwd instance SPOOL home
  • vscode 中正则表达式的不完整量词

    我正在尝试为对象的开头创建一个正则表达式 以便我可以用单个替换完整的块 在vscode的查找和替换中 My Regex id oid 0 9 product id 0 9 我的示例输入 id oid 973 product id 973 p
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?

    我有一个平面文件 如下所示 如何使用 UNIX shell 脚本从文件中删除页眉和页脚并重写同一文件 9 20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DAT
  • 测试 bash shell 脚本[重复]

    这个问题在这里已经有答案了 有人可以解释一下如何测试 bash shell 脚本吗 例如 我有一个 sh 文件 其中包含此代码 bin sh for file in txt do mv file basename file txt doc

随机推荐

  • 对象处理触摸事件但也让它通过

    我想创建一个像这样工作的对象MultiPointTouchArea 因此它将具有 touchUpdated 信号 但它也不会窃取触摸 因此放置在其下方的对象也将接收触摸事件 该解决方案可能需要创建 C 对象 有没有一种简单的方法来创建这样的
  • 在 silverlight 中单击子窗口外部即可关闭子窗口

    当我点击子窗口外部时如何关闭子窗口 如果您使用默认的silverlight子窗口样式 当它打开时 外部部分 透明的灰色部分 实际上是子窗口样式内的网格 称为覆盖 所以你需要做的是处理它的MouseLeftButtonDown事件
  • 良好的命名空间命名约定

    我正在为 CRUD 业务应用程序创建一个类库 业务对象 以及相关的数据访问层对象 的主要 类别 是 维护 用于与master一起工作 数据库中的表 主列表 事件 大多数对象与现实世界的事件相关 搜索 显而易见 到目前为止 我的命名空间设置如
  • 使用 Java 将 At 命令发送到 gsm 调制解调器

    我正在尝试编写一个发送短信的程序 我写了程序 但没有成功发送消息 我的程序向我的计算机中的 COM 端口发送一条 At 命令 但我没有从我的 gsm 调制解调器收到响应 我正在使用 COM 终端 Temp pro 通过 at 命令发送短信
  • 如何在java中将mm / dd / yyyy转换为yyyy-mm-dd [重复]

    这个问题在这里已经有答案了 我将输入日期作为字符串输入 mm dd yyyy 并希望将其转换为 yyyy mm dd 我试试这个代码 Date Dob new SimpleDateFormat yyyy mm dd parse reques
  • 如何在SPRING MVC POJO的字段中保存日文字符

    我正在使用构建网络应用程序 春季MVC 春季安全 Hibenate MySQl 我想为我的应用程序添加国际化支持 我想使用 Hibernate 将日语字符存储并检索到 mySQL 数据库 我已将数据库字符集设置为UTF 8并且还添加了属性h
  • 适用于 iOS 的 RTSP 视频流 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想在iPhone屏幕上显示视频流RTSP 可以抛出项目的源代码或如何实现它的详细信息 找到2个项目 但还没有编译 https github com mooncatventure
  • 通过 python odoo 9 自定义报告

    如何将多个模块数据传递到 QWeb 报表 在从控制器渲染 html 时是否有类似于传递字典的东西 class account model Models name account main name fields Char class acc
  • 帮助页脚始终位于底部

    我知道这个问题已经在这里讨论过很多次了 但是我在这里找到的答案似乎都没有解决我的问题 我有这个可变 高度 布局 并且希望页脚始终粘在底部 我使用了最小高度 100 到容器 div 并以某种方式让它始终位于底部 问题是 它沉得太低了 我在这里
  • 如何将 .c 和 .h 文件添加到 Atmel Studio 6?

    我知道关于这个主题有很多问题 而且我已经研究了其中相当多的问题 但是我仍然遇到问题 我开始为 PCB 原型编写测试程序 现在它已增长到近 1000 行 我正尝试将其分解为可用于特定功能的库 我以为这会很简单 为我需要的每个库制作 c 和 h
  • 屏幕高度兼容 iphone 5 和 iphone 4 [重复]

    这个问题在这里已经有答案了 可能的重复 如何支持更高的 iPhone 5 屏幕尺寸 我是 iPhone 新手 我有一个小疑问 现在iphone5的屏幕高度是568 以前的iphone的屏幕高度是480 我们如何实现iphone5的应用程序
  • 获取gridview(不是datagridview)中单击的单元格索引asp.net

    当我单击 gridview 不是 datagridview 中的单元格时 我想获取单元格索引 不是行索引 而不是行索引 我使用 asp net c Use the RowCreated注册单元格的事件 单击每个单元格并处理GridView
  • 无法使用 i 从 1 到 n 循环重复执行 shell 脚本

    这是有效的 例如 打印 3 个参数 to run argv do shell script echo count argv arguments end run 这不会 仅打印 参数 3 三 而不打印前两个参数 to run argv do
  • 为什么当我使用SOLR查询所有文档时CPU使用率接近100%

    我有一个使用 SOLR 查询 200 万以上文档并按时间排序的应用程序 查询 URL 参数如下 select sort p review date desc rows 10 start 0 q 参数start为变量值 每个请求增加10 当我
  • 当外部 json 文件中给出测试数据时,在 AWS 场上获取文件未找到异常

    文件未找到异常 以下是日志 TestNG INVOKING test testscripts LoginTest loginWithValidCredentialsTest Invoker 1915058446 Invoking tests
  • 用于检索该月最后一天的记录的 SQL 查询

    我有一个包含许多日期记录的表 我想执行一个仅返回该日期月份最后一天的记录的查询 就像是 SELECT FROM mytable WHERE DATEPART d mytable rdate DATEPART d DATEADD m 1 DA
  • 如何向现有的exe文件添加图标(默认情况下没有图标)?

    当我在 Google 上搜索时 我发现了一个有用的类 它可以让我们更改任何图标 exe文件使用以下代码行 WindowsFormsApplication1 IconInjector InjectIcon myfile exe myicon
  • 在 MonoDeveloper 中获取 java.net.MalformedURLException

    嘿 我是 MonoDeveloper 的新手 我正在尝试将 libgdx 代码移植到 iOS 平台 我的 Libgdx 代码在桌面和 Android 手机上完美运行 但是当我使用 MonoDeveloper 在 iPhone 模拟器上运行它
  • Laravel连接MSSqL服务器可以与cli一起使用,但不能在浏览器中使用

    安装后dll s要与 MSSqL 服务器一起使用 命令php artisan migrate运行正确并且表格是在db 所以我认为该连接适用于该应用程序 然后我使用了命令php artisan make auth 不使用数据库连接 来构建身份
  • 猛击。如何获取标签之间的多行文本

    我正在尝试获取文件中两个标签之间的文本 但是 如果脚本找到开始标记但未找到结束标记 则它将从开始标记打印文件到文件末尾 例如文本是 aaa TAG1 some right text TAG2 some text2 TAG1 some tex