使用 awk 打印除匹配范围模式之外的所有内容

2023-11-21

在 Awk 中,范围模式不是表达式,因此不能使用“!”不是它。 那么如何实现它(使用 awk 打印除匹配范围模式之外的所有内容)?

e.g.

$cat 1.t

abd
hfdh
#  
fafa
deafa
123 
#
end

我想要的结果:

cat 1.t

abd
hfdh
end

EDIT:

我举了一个不恰当的例子。结束模式应该与开始模式不同,因为我还没有测试过这一点。那是我的错。

同时,我想以不同的方式操作范围模式和非范围模式。所以 sed 不是我的选择。


你刚刚给了一个tricky(我不知道我应该称其为好还是坏^_^)示例。你的文字完全一样startpattern and endpattern (#)

我猜你正在寻找与sed '/#/,/#/d' or sed -n '/#/,/#/!p'

有一些similiar(与 sed 不同)awk 中的地址模型。手册页中有解释。我说不一样,你的例子很好。如果start == endawk 的地址模型不起作用:

kent$  echo "abd
hfdh
#  
fafa
deafa
123 
#
end"|awk '/#/,/#/{next}1'                                                                                                                                                   
abd
hfdh
fafa
deafa
123 
end

因为 awk 匹配同一行(再次检查手册页),但如果它们不同,请参见以下示例:

kent$  echo "abd
hfdh
#  
fafa
deafa
123 
##
end"|awk '/#/,/##/{next}1'
abd
hfdh
end

它会给你想要的。所以如果是这种情况,你可以这样做:

awk '/start/,/end/{next}1'

是的,与 sed 非常相似。

如果开始和结束确实相同,你想用 awk 来做,你需要 flag。

kent$  echo "abd
hfdh
#  
fafa
deafa
123 
#
end"|awk '/#/&&!f{f=1;next}f&&/#/{f=0;next}!f'
abd
hfdh
end

好吧,在例子中更好地使用^#$, 但这不是重点。我希望这回答了你的问题。

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

使用 awk 打印除匹配范围模式之外的所有内容 的相关文章

  • Java:getInstance 与静态

    目的是什么getInstance 在Java中 在我的研究过程中我一直在读getInstance 有助于实现单例设计模式 根据我的理解 这意味着整个程序中只有一个实例 但我不能只使用静态吗 这不是静态的全部意义吗 如果我只有静态方法和字段
  • java 中带有子类化的单例

    在 Java 中实现单例的最常见方法是使用私有构造函数和以下形式的公共访问器方法 public class Singleton private static Singleton instance null private Singleton
  • 如何 grep 文件中不区分大小写的字符串?

    我有一个文件file1其结尾为Success OR success 我想要grep为了这个词success以一种不区分大小写的方式 我写了以下命令 但它区分大小写 cat file1 grep success 我怎样才能改变它 以便它ret
  • 如何从 Unix 文件中删除空行

    我需要从输入文件中删除所有空白行并写入输出文件 这是我的数据如下 11216 33 1032747 64310 1 0 0 1 878 0 0 0 1 1 1 087 5 1 1 18 JAN 13 000603221321 11216 3
  • 使用策略和工厂模式进行依赖注入

    我正在开展一个业余项目 以更好地理解控制反转和依赖注入以及不同的设计模式 我想知道是否有将 DI 与工厂和策略模式结合使用的最佳实践 当策略 从工厂构建 需要每个可能的构造函数和实现不同的参数时 我面临的挑战就出现了 因此 我发现自己在服务
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 如何在没有接口的情况下模拟多重继承?

    如何在不使用接口的情况下在 C 中模拟多重继承 我确实相信 接口能力不适用于此任务 我正在寻找更多面向 设计模式 的方式 就像 Marcus 所说 使用接口 扩展方法来制作像 mixins 这样的东西可能是你目前最好的选择 另请参阅 使用接
  • Android-使用 ViewHolder 和 AsyncTask 加载联系人-缩略图问题

    我正在创建一个自定义联系人应用程序 我使用带有 ViewHolder 设计模式的 ArrayAdapter 进行优化 由于加载缩略图需要花费大量时间 因此我使用 AsyncTask 类来加载图像 用于第一组联系人我的屏幕上 图片加载得很好
  • 用于在运行时使用附加信息增强 Java 中现有数据结构的设计模式

    我将从一个小例子开始 想象一个具有几个实体的应用程序 实体A 1 n gt 实体B 1 n gt 实体C 假设我们有一个返回 EnityC 实例列表的服务方法 在 UI 中 我们想要显示 EntityC 但也向仅与 UI 相关的实体添加一些
  • 如何用awk删除以“C”开头的行?

    如何使用以下命令从文本文件中删除以 C 开头的行awk 有什么建议请 如果数据在文件中data txt then With awk awk C data txt With grep grep v C data txt 显示开头不带 C 的所
  • 从实时 tcpdump 捕获中提取唯一的 IP

    我使用以下命令从实时 tcpdump 捕获中输出 IP sudo tcpdump nn q ip l awk print 3 fflush stdout gt gt ips txt 我得到以下输出 192 168 0 100 50771 1
  • 合并两个非常大的文件,忽略第一句

    我想将两个巨大的文件 每个几百兆字节 合并成一个文件 同时忽略第一行 我想使用 awk 因为我认为它应该是最优化的方式 我这样做的方式只忽略第二个文件的第一行 知道如何做工作或者是否有更快的方法 awk FNR NR FNR 1 next
  • 使用awk将列中的值替换为txt文件中的另一个值

    我是 Linux 和 awk 脚本编写的新手 我有 tab delim txt 文件 如下所示 AAA 134 145 Sat 150 167 AAA 156 167 Sat 150 167 AAA 175 187 Sat 150 167
  • 你怎么知道何时使用设计模式? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 任何人都可以阅读 GoF 书来了解什么是设计模式以及如何使用它们 但是弄清楚设计模式何时解决问题的过程是什么 模式的知识是否驱动设计
  • awk 维度上的累积和

    下午好 我想对 awk 中的每一列和每一行进行累积和 我的文件是 1 2 3 42 5 6 72 3 6 51 2 1 2 我想要 每列 1 2 3 43 7 9 115 10 15 166 12 16 186 12 16 18 我想要 每
  • Matlab:从一定范围内不重复的随机整数

    我想获得一个包含在范围内且不重复的随机整数的数组 我使用了 randperm 15 3 输出是 8 10 12 这个函数不使用范围 我只想从 10 中随机取值 例如 如果您有统计工具箱 则可以使用randsample https www m
  • grep 以特定字符串开头的行

    我想找到文件中以特定字符串开头的所有行 问题是 我事先不知道字符串里有什么 该值存储在变量中 天真的解决方案如下 grep my string file txt 因为如果 Bash 变量my string包含任何正则表达式特殊字符 grep
  • awk 在Linux终端中输出类似表格或类似Excel的列?

    我做了一个长管子 最后是 awk print 5 t t 3 t 4 在 Linux 终端中 这些列用选项卡填充 第一列条目具有不同数量的字符 因此第二列结果并不完全垂直 怎样才能让桌子看起来更完美呢 尝试将结果通过管道传输到列 t awk
  • 您最好的 Swing 设计模式和技巧是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 删除所有出现的重复行

    如果我想删除某些字段重复的行 那么我使用 sort u k n n 但这仍然发生一件事 如果我想删除所有出现的重复项 有没有快速的 bash 或 awk 方法可以做到这一点 例如我有 1 apple 30 2 banana 21 3 app

随机推荐

  • 如何将时间跨度转换为下午或上午时间?

    我以 UTC 时间存储用户时间 当我显示它时 我需要将其转换为上午下午时间 这是数据库中的示例 我将 17 00 00 转换为下午 5 00 这是我到目前为止所想到的代码 但它不起作用 var time DateTime ParseExac
  • C++ 指向非静态成员函数的函数指针(类成员)

    class Foo public Foo do something Foo func x int Foo do something int function pointer to class member function void set
  • NSDateFormatter“HH”在 iOS 8 设备上返回 am/pm [重复]

    这个问题在这里已经有答案了 我现在很困惑 我一直很高兴地使用 NSDateFormatter 没有出现任何问题 但今天我注意到我的一个应用程序在运行 iOS 8 1 3 的 iPhone 6 plus 设备上给了我疯狂的结果 而在其他设备
  • 将 get/set 函数附加到 js 中的对象属性

    我本质上有一个对象 var foo function this setting false this refresh function let a new foo a setting true a refresh is triggered
  • Selenium Webdriver 与 Python - driver.title 参数

    我是 Python 和 Selenium 的新手 driver title参数是如何得出的 下面是一个简单的网络驱动程序脚本 如何找到 driver x 的其他参数有与使用单元测试模块中的各种断言 import unittest from
  • MouseMove 事件每秒重复一次

    http jsfiddle net MrkY9 我的计算机 到目前为止 我的同事中没有其他计算机 在 Chrome IE 和 Safari 但在 Firefox 中没有 中出现问题 简单的mousemove代码 例如下面的 已经在上面的小提
  • 如何pickle __main__ (python)中定义的函数/类

    我希望能够从 main 中腌制一个函数或类 但有一个明显的问题 在其他帖子中提到 腌制的函数 类位于 main 命名空间中 并且在另一个脚本 模块中取消腌制将失败 我有以下可行的解决方案 是否有理由不这样做 myscript py 中的内容
  • OpenCV Python cv2.perspectiveTransform

    我目前正在尝试使用 OpenCV 和 Python 进行视频稳定 我使用以下函数来计算旋转 def accumulate rotation src theta x theta y theta z timestamps prev curren
  • Android:在一个屏幕上查看两个活动

    我正在寻找同时显示两个活动的最简单方法 以便一个活动始终保持可见 而另一个活动则随着用户交互而变化 换句话说 我目前有一个包含多个活动的程序的代码 用户可以在这些活动之间导航 我想添加一个新的活动 该活动将始终与我已有的活动一起可见 当用户
  • 使用 POCO 的 C++ Http 请求

    我想知道如何使用 C 中的 POCO 向 URL 发出请求 例如下载图片并保存 到目前为止我得到了这个小代码 include
  • 在 C# 中检查两个 XML 文件是否相同?

    在 C 中如何检查两个 XML 文件是否相同 我想忽略 XML 文件中的注释 安装免费的来自 NuGet 的 XMLDiffMerge 包 这个包本质上是一个重新打包的版本XML 差异和补丁 GUI 工具来自微软 该函数返回true如果两个
  • 有没有办法按索引合并多个列表索引?

    例如 我有三个列表 长度相同 A 1 2 3 B a b c C x y z 我想将它合并成类似的东西 1 a x 2 b y 3 c z 这是我到目前为止所拥有的 define merger A B C answer for y in r
  • 几何命中测试中的错误

    我有一个绘画视觉表示路径的元素 其几何形状由此描述syntax m106 59 3c0 1 98 0 0 4 95 0 989 3 96 0 989 13 8 3 96 20 8 4 95 6 92 0 14 8 3 96 17 8 3 9
  • 抑制输出

    我想抑制一组 Matlab 函数中变量的输出 问题是作者忘记了 在代码中的许多位置 出于调试目的 此输出很有用 但现在我想抑制它 而不在整个代码中搜索丢失的 有没有可能关闭这种输出 您可以使用 evalc 抑制输出 但这需要您将表达式作为字
  • “为了钱,总是小数”?

    嗯 规则 对于金钱来说 总是小数 不适用于 Microsoft 开发团队内部 因为如果是 Namespace Microsoft VisualBasic Assembly Microsoft VisualBasic in Microsoft
  • 将 Browserify 与 jQuery 插件结合使用

    一些简短的背景 我正在使用 browserify 和 browserify shim 以及 gulp 来构建 来创建一个网络应用程序 在这个问题之前 我是require从 npm ing jquery 所以我没有任何问题 当我开始做一些优化
  • HTML5 结构 -

    再会 我刚刚开始学习 HTML5 没有任何问题 一切都很顺利 我只有一个关于语义使用的小问题
  • swagger 结合一些重复的注释

    I use useDefaultResponseMessages false 并在每个方法中 ApiResponses value ApiResponse code 200 message Success response Order cl
  • 在字段名称周围使用反引号

    在阅读了一些关于一些 SQL 问题的答案和评论之后 还听说我的一个朋友在一个有禁止它们的政策的地方工作 我想知道在 MySQL 中的字段名称周围使用反引号是否有什么问题 That is SELECT id name anotherfield
  • 使用 awk 打印除匹配范围模式之外的所有内容

    在 Awk 中 范围模式不是表达式 因此不能使用 不是它 那么如何实现它 使用 awk 打印除匹配范围模式之外的所有内容 e g cat 1 t abd hfdh fafa deafa 123 end 我想要的结果 cat 1 t abd