- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要使用正则表达式来解析数据文件的特定行。我的匹配测试命令有效,我的特定行号测试命令有效,但是当我将它们放在一起时,我没有输出。
gawk 'NR==42 {print $0}' filename
gawk 'match($0, /([0-9]+)/, a) {print NR ":" a[1]}' filename
gawk 'NR==42 match($0, /([0-9]+)/, a) {print NR ":" a[1]}' filename
gawk 'match($0, /([0-9]+)/, a) {if (NR==42) print NR ":" a[1]}' filename
最佳答案
快速解答:该问题的解决方案是添加缺少的 and 运算符:
NR==42 && match($0, /([0-9]+)/, a)
OP中发生了什么?
pattern { action }
执行
action
当
pattern
是真的。
pattern
用于上述内容:
NR==42 match($0, /([0-9]+)/, a)
由于运算符的优先顺序,它实际上类似于:
NR == (42 match($0, /([0-9]+)/, a))
例如,让我们假设我们在
NR==42
.匹配函数返回
0
或
1
取决于是否找到匹配项。正如 OP 中所述,
match
函数返回
1
在
NR==42
的情况下.
pattern
现在读:
42 == (42 1)
形式
expr expr
的运算符类似于字符串连接,所以在 awk 中,这被处理为
42 == ("42" "1")
42 == "421"
运营商
==
是数字运算符当且仅当两个操作数都是数字性质的。但是
"421"
是一个字符串,所以它会转换
NR
的数值到一个字符串:
"42" == "421"
这是错误的,因此是
action
不会被执行。
match
时,上述操作才会执行函数在线返回 false
420
或在线
421
关于awk - gawk NR 和匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242179/
我正在使用 nr 高达 128 的 io_submit(..., nr, ...),但我提交的请求通常较少。 根据手册IO_SUBMIT(2) ,这是合法的,但我想知道:为什么?此外,有没有一种方法可
我正在学习使用 awk 进行文件比较。 我找到了如下语法, awk 'NR==FNR{a[$1];next}$1 in a{print $1}' file1 file2 我不明白NR==FNR在这里面
性能上有什么实际差异吗? 它更快吗? (假设我在同一个程序中至少使用了 100 个案例,它会在速度方面提高我的程序吗?) 最佳答案 这个问题可能更适合 Software Engineering Sta
我对 python 和 pandas 相对陌生,所以我可能无法完全理解所有可能性,并且希望得到如何解决以下问题的提示: 我有一个df就像这个: Jan Feb Mar Apr i
我们在windows下安装MySQL时会出现Access denied for user 'root'@localhost'(using password:No)的问题,这个问题是因为你的机器上之前
我是数据库的初学者,我有以下内容:我需要展示那些有最多不正确学生的类(class)(所以那些还没有带书的人和那些迟于 date_to_return 带书的人) 表格类(class):类(class)代
我需要使用正则表达式来解析数据文件的特定行。我的匹配测试命令有效,我的特定行号测试命令有效,但是当我将它们放在一起时,我没有输出。 gawk 'NR==42 {print $0}' filename
我最近试用了 Google 的 seq2seq建立一个小型的 NMT 系统。我设法让一切正常运行,但我仍然想知道模型的轮数和训练步骤数之间的确切差异。 如果我没记错的话,一个 epoch 由多个训练步
是否可以将顶部的这三个函数合二为一,并且当我单击按钮滚动所有三个函数时,每个骰子仍然无法获得相同的随机数?澄清这些功能是当我点击单个骰子时的功能,而底部的功能是当我想同时滚动所有三个骰子时的功能!所有
我正在尝试制作一个程序,它从 X 个问题中随机挑选 10 个问题(目前随机编写了 14 个问题),而不会再次挑选相同的问题,但我已经在这个垃圾问题上被困了 4 个小时。 我的问题是“randomNum
在 numpy 中获取下一个信号值之前获取行的 nr 的有效方法是什么? 我有一个信号值列表 (-1, nan, 1),它看起来与下表类似,并且想获得另一个列表,其中包含行数 nr 值,直到下一个信号
我需要在我的 Fortran 90 代码中使用 MRQMIN 子例程。在这个子程序里面还有一些其他的模块nrtype.90 , nrutil.f90和 nr.f90 .我正在使用这些命令编译所有这些模
我正在运行以下命令,只要它们是第一个文件中的内容,它就可以很好地工作: awk -F, 'FNR==NR {a[tolower($1)]++; next} !a[tolower($1)]' OutSi
我正在做一些聚合以获得关于类别中有多少产品的一些统计数据。 经过一些管道后我归结为: [ { topCategory: "Computer", mainCategory: "S
我正在尝试使用 Android API 在 Samsung S20 (T-Mobile) 上检测 5G Nr 小区信息 CellIdentityNr https://developer.android
在过去的几个小时里,我一直在尝试用 awk 解决这个愚蠢的问题,但到目前为止还没有成功。我了解如何绘制每一行,例如: awk 'NR%2' file 而且我还了解如果一列在特定范围内如何打印基于列的文
苹果会在今年发布iPhone12,iPhone12(一些更高的设备类型)可以支持5G功能,我认为iPhone12应该是基于iOS14平台的,所以我研究了iOS14的API,但我们可以'找不到任何关于
嗨,我正在尝试使用 awk 命令找到正则表达式后打印 5 行。我有以下内容: line_start=$(awk '/regex/{print NR}' file) let line_end=$line
有人可以告诉我解决问题的最佳数据结构选择是什么吗@http://acm.timus.ru/problem.aspx?space=1&num=1027。 复制到这里供引用。 问题 A text of a
我们可以将 NR 传递给 awk 中的变量吗? 我有一个脚本是这样的: awk -v { blah blah.. .......... count-- pr
我是一名优秀的程序员,十分优秀!