如何在 awk 中对模式进行 if else 匹配

2024-04-20

我尝试过以下命令:

awk '/search-pattern/ {print $1}'

如何编写上述命令的 else 部分?


经典方式: https://www.gnu.org/software/gawk/manual/gawk.html#If-Statement

awk '{if ($0 ~ /pattern/) {then_actions} else {else_actions}}' file

$0代表整个输入记录。

另一种惯用的方式 https://www.gnu.org/software/gawk/manual/gawk.html#Conditional-Exp基于三元运算符语法selector ? if-true-exp : if-false-exp

awk '{print ($0 ~ /pattern/)?text_for_true:text_for_false}'
awk '{x == y ? a[i++] : b[i++]}'

awk '{print ($0 ~ /two/)?NR "yes":NR "No"}' <<<$'one two\nthree four\nfive six\nseven two'
1yes
2No
3No
4yes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 awk 中对模式进行 if else 匹配 的相关文章

  • 如何从纯文本中查找键值存储中的值

    给定一个纯文本文件 其中包含 FOO foo BAR bar BAZ baz 我们如何grep使用键获取值 Use a 向后看 https regex101 com r q3FNpe 1 grep Po lt FOO w file foo
  • 添加新的 ApplicationBarMenuItem 图标时无法分配给属性

    我添加了一个新的ApplicationBarMenu带有图标的按钮到我的 wp7 项目中的页面 当尝试运行页面时我得到 无法分配给属性 Microsoft Phone Shell ApplicationBarIconButton Click
  • 使用python远程执行shell脚本

    有没有一种方法可以让我在 Windows 上使用 Python 来执行位于远程 Unix 计算机上的 shell 脚本 P S 抱歉编辑晚了 我确实知道 Paramiko 但我想知道是否有办法在没有它的情况下做到这一点 对于初学者来说 可以
  • 如何使用 grep 查找文件夹内的单词?

    在 Windows 中 我会进行搜索以在文件夹中查找单词 同样 我想知道某个特定单词是否出现在包含许多子目录和文件的目录中 我对 grep 语法的搜索显示我必须指定文件名 即grep string filename Now I do not
  • 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
  • 用于搜索内部文件的 ssh 命令

    几周前 我的两个网站可能被 ftp 暴力攻击所利用 破坏了我网站的许多文件 我发现他们通常会在js或php文件中插入以下代码 Trojan code removed as irrelevant to this question 我想通过 s
  • 使用 grep 仅打印上下文

    Using grep http www computerhope com unix ugrep htm 您可以打印与您的搜索查询匹配的行 添加一个 C选项将打印两行周围的上下文 如下所示 gt grep C 2 lorem some con
  • 是否可以在我的 shell 文件中使用 GitHub 机密?

    这是我在 GitHub 存储库上的简单操作 name CI on push branches main jobs build runs on ubuntu latest steps name Get my account my infra
  • 如何在 python 解释器 shell 中重复最后一个命令?

    如何重复上一条命令 常用键 向上 Ctrl 向上 Alt p 不起作用 他们创造出无意义的人物 ve kakarukeys localhost ve python Python 2 6 6 r266 84292 Nov 15 2010 21
  • 使用 sed 和 pstree 显示正在使用的终端类型

    我一直在尝试仅显示用作名称的终端类型 例如 如果我使用 konsole 它会显示 konsole 到目前为止我一直在使用这个命令 pstree A s 输出这个 systemd konsole bash pstree 我有以下内容可以从该行
  • 如何在接收端打开没有 SSHD 的 shell?

    我有一台没有 SSHD 的机器 我想从远程机器 我可以完全控制 在这台机器上打开 bash shell 由于我的有限机器上有 SSH 因此我配置了反向代理 ssh R 19999 localhost 22 remoteuser remote
  • Bash 脚本问题

    我可以很好地运行这个命令 并得到我想要的输出 ifconfig eth0 grep HWaddr awk print 5 但是 当我将命令设置为变量并打印该变量时 出现错误 CASS INTERNAL ifconfig eth0 grep
  • 使用单个 shell 脚本运行 React 和 Flask

    我构建了一个使用 ReactJS 作为前端和 Flask 作为中间件的应用程序 我可以使用以下命令序列来执行它 npm start cd Equation Solver python m flask run 执行第一个命令后 我必须打开另一
  • Emacs 退出终端

    在 Emacs 中运行终端模式时使用M x term using C x C o我无法切换到另一个缓冲区来继续处理事情 我知道这是可能的M x shell但使用此命令时 shell 的某些方面不起作用 less more 手册页等 我想知道
  • unix 命令行执行方式为 . (点)与没有

    在 unix 命令行中 通过简单地键入程序名称来执行程序与通过键入 点 后跟程序名称 例如 runme vs runme name来源称为文件name进入当前外壳 所以如果一个文件包含这个 A hello 然后 如果您获取它 之后您可以引用
  • 如何在c#中使用net user

    我正在尝试将 net user 与 c 一起使用 System Diagnostics ProcessStartInfo proccessStartInfo new System Diagnostics ProcessStartInfo n
  • 创建带小数秒的时间戳

    awk可以使用 strftime 函数生成时间戳 例如 awk BEGIN print strftime Y m d H M S 2019 03 26 08 50 42 但我需要一个带有小数秒的时间戳 最好是纳秒 gnu date可以用 N
  • 使用 GIT_PS1_SHOWCOLORHINTS 自定义 __git_ps1 的颜色

    我尝试过的 我已更新我的提示以包含分支名称 git ps1 另外 我设置GIT PS1 SHOWCOLORHINTS 问题 提示正确显示 然而 树枝的颜色始终是绿色的 我预计肮脏的树枝会是红色的 文档指出 颜色基于 git status s
  • 我如何在 ruby​​ 中执行范围正则表达式,例如 awk /start/,/stop/

    我想做一个 AWK 风格的范围正则表达式 如下所示 awk hoststatus file 在 AWK 中 这将打印文件中两个模式之间的所有行 hoststatus host name myhost modified attributes
  • 使用 sh shell 比较字符串

    我正在使用 SH shell 我试图将字符串与变量的值进行比较 但是if条件始终执行为真 为什么 这是一些代码 Sourcesystem ABC if Sourcesystem eq XYZ then echo Sourcesystem M

随机推荐

  • 如何修复 SQL Server 中阿拉伯文与英文混合的反向字符

    我有一个 SQL Server 数据库 表列在同一字段中包含阿拉伯语和英语字符 就像Oracle 寻求您的帮助 将阿拉伯字符与英文字符分开以反转它们 因为阿拉伯字符在字段中没有特定的位置 开始 结束或中间 Edit这些字符来自旧版 IBM
  • Angularjs 表单验证顺序

    我有一个简单的 html 表单 其中包含常规文本输入 ng minlength ng maxlength and ng pattern有角的内置表单输入指令 http docs angularjs org api ng directive
  • #的目的是什么!在网址中[重复]

    这个问题在这里已经有答案了 可能的重复 Facebook 和新 Twitter URL 中的 shebang 有何用途 https stackoverflow com questions 3009380 whats the shebang
  • 使用张量流实现 RBM

    我正在尝试用tensorflow实现RBM 代码如下 rbm py An rbm implementation for TensorFlow based closely on the one in Theano import tensorf
  • 在 iOS 设备上使用网络链接调节器

    如何直接在我的 iOS 设备上模拟各种网络状况 我知道这在 Mac 上是可能的 这要归功于网络链路调节器 http mattgemmell com 2011 07 25 network link conditioner in lion iO
  • Express-Session、Connect-Redis 和 einaros/ws

    我似乎在让 Express express session connect redis 和 websockets ws 很好地协同工作时遇到了一些麻烦 这很可能与我对这些模块和编码的总体理解还有限有关 这里的大部分代码取自存储库中的相应示例
  • 不要从序列化的 DateTime 对象中序列化或删除 TimeZone

    我收到的一个奇怪的任务是使用 XML 序列化来序列化一个大对象 该对象包含多个嵌套的 UserDefined 类 以及多个 DateTime 字段 日期时间数据的要求是它必须始终显示在最初创建和设置数据的用户的时区中 因此 我无法使用 UT
  • Objective C / iPhone:如何提取当前区域的实际 unicode 日期格式字符串?

    根据该网站 http iosdevelopertips com cocoa date formatter examples html http iosdevelopertips com cocoa date formatter exampl
  • 通过 SignalR 在 IE 中缺少原型方法

    我遇到了一个问题 即仅在 IE 中并且仅当数组通过 SignalR 时才处理原型方法消失 在本例中为 Array prototype 方法 我写了一个小 愚蠢但简单的概念验证网络应用程序来演示这个问题 代码全部在下面 请注意 当您单击 更新
  • 如何在 reStructuredText / Sphinx 中创建浮动图形?

    我想要一个带有文字的图形 这就是我要说的 Installation of Optional Accessories warning Never plug in or unplug a Hand Robot or a Grasp Sensor
  • TS2611:“foo”被定义为类“A”中的属性,但在“B”中作为访问器被覆盖

    我在 Angular 应用程序中遇到 Typescript 编译错误 以下是示例代码和错误消息 请您指导我抑制这个错误 我认为根据 Javascript 这段代码是正确的 error TS2611 foo is defined as a p
  • 如何在 EF DbFirst 中扩展 ASP IdentityRole

    如何扩展 IdentityRoles 以使用扩展的 AspNetRoles 表 在 ASP MVC 5 中 使用 Identity 2 2 我看了here https stackoverflow com q 40336574 6085193
  • 将异常从 Objective-C 引发回 Javascript

    JavascriptCore 允许我们通过 JSExport 协议将 Objective C 类公开给 javascript 比方说 在公开的 Objective C 类的方法之一中 遇到了需要引发异常的情况 有没有办法创建所述异常并引发它
  • 在 Android 中使用 Asynctask 显示进度条

    我正在尝试显示进度条 我是一名安卓初学者 当我按下按钮时 任务应该在后台运行 但它不显示进度栏 什么是问题 我无法理解 请帮我 主要活动 package com example shikkok services import java ut
  • 添加 Windows Common Controls 6.0 时对象库未注册

    我正在尝试在 Windows 7 32 位计算机上安装 Visual Studio 6 操作系统安装是从裸机进行的 我按照提到的说明进行操作here http www fortypoundhead com showcontent asp a
  • 如何检查png文件是否是减压炸弹

    我正在尝试将图像上传到网站 我发现在允许上传时可能会发生这些减压炸弹攻击png文件 和其他一些 由于我要更改上传的图像 我想确保我不会成为这次攻击的受害者 因此 当涉及到检查是否png文件是一个炸弹 我可以读取文件的标题并确保宽度和高度不超
  • 为什么我的递归阶乘方法总是返回 0? [复制]

    这个问题在这里已经有答案了 我创建了一个递归方法来计算数字的阶乘 但是 它总是返回 0 我不明白为什么 我在下面提供了我的代码 public class projectTwenty public static void main Strin
  • 在其他列定义的窗口内累积应用

    我试图将函数累积地应用于由 开始 和 完成 列定义的窗口内的值 因此 开始 和 完成 定义了值处于 活动 的时间间隔 对于每一行 我想获得当时所有 活动 值的总和 这是一个 暴力 示例 它实现了我想要的功能 是否有更优雅 更快或更有效的内存
  • store.sync() 回调

    store sync 有回调吗 我正在尝试这样做 store sync function alert 1 但它不起作用 这家店是当地的一家店 sync 没有 回调 为了实现此行为 您需要监听存储的写入事件 查看这个解决方案 https st
  • 如何在 awk 中对模式进行 if else 匹配

    我尝试过以下命令 awk search pattern print 1 如何编写上述命令的 else 部分 经典方式 https www gnu org software gawk manual gawk html If Statement