使用 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 打印除匹配范围模式之外的所有内容 的相关文章

  • 具有线程安全性的 eventbus 最佳实践

    我的应用程序具有用户交互活动和后台服务 这是修改数据模型的唯一地方 后台服务监听用户所做的操作以及来自网络的传入消息 因此 可能会出现并发问题 我尝试使用处理程序来防止这些问题 对于事件层 我使用 greenrobots Eventbus
  • 状态机实现

    我正在尝试构建一个棋盘游戏 并且看起来它必须使用状态机来实现 我知道的状态模式 http en wikipedia org wiki State pattern来自 GoF 但我确信一定还有其他方法来实现状态机 请告诉我 如果您知道任何文章
  • 如何调用 awk 中的 split 函数来分割“\.”上的字符串?

    我该如何使用split用 分割的函数 例如 首先考虑分割 echo 03 26 12 awk split 0 a print a 3 a 2 a 1 产生以下输出 122603 但如果传入的字符串是 echo 03 26 12 awk sp
  • 使 Web 表单输入在各种情况下安全的正确方法是什么?

    你们都认为什么是正确的 阅读 最灵活 松散耦合 最健壮等 方法来使来自 Web 的用户输入安全地用于 Web 应用程序的各个部分 显然 我们可以为每个上下文 数据库 屏幕显示 保存在磁盘上等 使用各自的清理功能 但是是否有一些通用的 模式
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的
  • PHP 查找最接近时间线期间的日期

    所以 呃 好吧 这可能会涉及到数学问题 所以希望你带上科学计算器 这是我的问题 给定初始日期 时间戳 时间段 秒 和今天的日期 时间戳 我需要找到与 period n 加上原始 初始日期一致的最近日期 到目前为止 我得到了一些运行良好的东西
  • 如何在 Java 中创建具有相同类型参数的方法?

    我的代码如下所示 enum EnumType CATEGORY GROUP MAIN Methods public void call EnumType type switch type case CATEGORY return metho
  • awk 反转行和单词

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

    我使用 awk 和 sed 来获取表中的分区列表及其大小 我想用它来计算各个表的每日增量 这是我的输出 现在我正在努力将所有大小转换为 MB 匹配第二个字段中的数字并根据 MB 或 GB 字符串相乘的最佳 bash 方法是什么 201706
  • awk 数组输出行数和平均值

    感谢以下 karakfaawk输出结果为数组 我正在尝试添加 2到数组并输出它 2基本上是唯一条目出现的次数 正如我正在学习的awk数组我不知道我的尝试是否接近 Input chr1 955542 955763 AGRN exon 1 1
  • 使用 range/arange 函数作为参数对 2d numpy 数组进行索引/切片

    我对 numpy 有一个基本的疑问 我在 Ubuntu 14 04 上使用 Python 2 7 numpy 1 9 2 例如 我将 2d numpy 数组初始化为a np zeros 10 10 然后 我尝试通过以下方式使用范围函数作为索
  • java 中带有子类化的单例

    在 Java 中实现单例的最常见方法是使用私有构造函数和以下形式的公共访问器方法 public class Singleton private static Singleton instance null private Singleton
  • 如何从 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
  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 使用策略和工厂模式进行依赖注入

    我正在开展一个业余项目 以更好地理解控制反转和依赖注入以及不同的设计模式 我想知道是否有将 DI 与工厂和策略模式结合使用的最佳实践 当策略 从工厂构建 需要每个可能的构造函数和实现不同的参数时 我面临的挑战就出现了 因此 我发现自己在服务
  • 如何获取视频时长(以秒为单位)? [复制]

    这个问题在这里已经有答案了 如何获取以秒为单位的视频时长 我尝试过的 ffmpeg i file flv 2 gt 1 grep Duration Duration 00 39 43 08 start 0 040000 bitrate 38
  • 在 contenteditable div 中选择范围

    我有一个contenteditablediv 和其中的一些段落 这是我的代码 div style border solid 1px black width 300px height 300px div Hello world div div
  • 如何在没有接口的情况下模拟多重继承?

    如何在不使用接口的情况下在 C 中模拟多重继承 我确实相信 接口能力不适用于此任务 我正在寻找更多面向 设计模式 的方式 就像 Marcus 所说 使用接口 扩展方法来制作像 mixins 这样的东西可能是你目前最好的选择 另请参阅 使用接
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 您会认为这是单例/单例模式吗?

    想象一下 在 Global asax cs 文件中 我有一个实例类作为私有字段 我们这样说 private MyClass myClass new MyClass 我在 Global 上有一个名为 GetMyClass 的静态方法 它获取当

随机推荐

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

    我以 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