如何将第一个 POSIX `[:cntrl:]` 字符与旧版 BSD `awk` 匹配?

2024-02-13

我想将输入字符串的第一个 ASCII 控制字符与awk但我偶然发现了旧版 BSD 上的一个错误:

#!/bin/bash

printf 'a \b c\n' |

awk 'match( $0, /[[:cntrl:]]/ ) { print RSTART }'
1

预期输出为:

3

代码可能有什么问题?


如何使用字符类以十六进制数字的方式指定控制字符:

$ printf $'a \b c\n' | awk 'match( $0, /[\x01-\x1f]/ ) { print RSTART }'
3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将第一个 POSIX `[:cntrl:]` 字符与旧版 BSD `awk` 匹配? 的相关文章

  • 使用 awk 将稀疏矩阵转换为 ARFF

    我正在处理稀疏矩阵格式的极大数据集 数据具有归档格式 3 个制表符分隔的列 其中第一列中的字符串对应于行 第二列中的字符串对应于属性 第三列中的值是加权分数 church place 3 church institution 6 man p
  • 如何垂直分割250k列的文件?

    我需要根据大小 首选 或列数将 250k 的文件拆分为几个 5 块 我知道split命令用于按行拆分 但不知道是否有类似的函数用于按列拆分 我的文件中的列数不均匀 因此块不能具有相同的列数 Input AA BB CC DD EE FF G
  • grep 匹配的行和字符串位置

    我需要找到一种方法将 grep 匹配的精确坐标从一个文件输出到另一个文件 所以说 模式 包含要匹配的字符串模式列表 搜索 是一个基于行的文本 ASCII 文件 其中包含要搜索的文本 with grep onf patterns search
  • 如何在 awk 中对模式进行 if else 匹配

    我尝试过以下命令 awk search pattern print 1 如何编写上述命令的 else 部分 经典方式 https www gnu org software gawk manual gawk html If Statement
  • 了解 OFS 在 AWK 中的工作原理

    这是后续我的问题 https stackoverflow com questions 55876705 awk ofs is not working with fs character set了解有关 AWK 中 OFS 的更多信息 我的理
  • 正则表达式用 SED/AWK 替换特定列

    我的数据如下所示 制表符分隔 Organ K ClustNo Analysis LN K200 C12 Gene Ontology LN K200 C116 Gene Ontology CN K200 C2 Gene Ontology 我想
  • 查找列中字段的平均值[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个这样的记录 1 11 11 T A 0 0 A 1 B 2 C 3 D 4 有 8 列 每列由制表符空格分隔 我需要的输出是这
  • 将 CSV 文件拆分为较小的文件但保留标题?

    我有一个巨大的 CSV 文件 有 100 万行 我想知道是否有一种方法可以将此文件拆分为较小的文件 但保留所有文件的第一行 CSV 标题 它似乎split速度非常快 但也非常有限 您不能向文件名添加后缀 例如 csv split l1100
  • 如何使用AWK从文件中连续输出行

    我有一个多行文件 我想连续输出文件的某些行 比如第一次 从第1行打印到第5行 下次 打印第2行到第6行 依此类推 我发现 AWK 是一个非常有用的函数 我尝试自己编写代码 但它什么也没输出 以下是我的代码 bin bash for n in
  • Bash 脚本问题

    我可以很好地运行这个命令 并得到我想要的输出 ifconfig eth0 grep HWaddr awk print 5 但是 当我将命令设置为变量并打印该变量时 出现错误 CASS INTERNAL ifconfig eth0 grep
  • 使用 Sed 或 Awk 进行数据转换 - 名称到标题

    我有以下格式的数据 APP OWNER hari APP AREA Work Business Area AUS APP ID 124080 APP OWNER ari APP AREA Work AUS APP ID 124345 我希望
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • 如何删除最后一次出现模式后的所有行?

    我想删除最后一次出现模式之后的所有行 除了模式本身 file txt honor apple redmi nokia apple samsung lg htc file txt 我想要什么 honor apple redmi nokia a
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 使用 awk 读取文件并搜索另一个文件

    我正在读取一个文件 每行都有数字 我需要搜索另一个满足这些数字和其他条件的文件 我正在尝试使用 awk 来做到这一点 但遇到了问题 File a txt 1476 1477 1497 现在我需要打印第 12 列包含这些数字的行以及第 3 列
  • 对重复的名称添加双引号

    我想从文件中找到重复的名称 如下所示 并用 标记它们 file James Miki 123 456 7890 Wang Tai 234 563 6879 James Miki 123 456 7890 输出希望看起来像 James Mik
  • shell解析json并循环输出组合变量

    杰斯克喜欢我之前的话题 https stackoverflow com questions 74063588 shell parsing json contains spaces in string 我知道如何解析带有空格的简单 json
  • 使用grep 读取文件中pattern1 的日志并仅打印包含pattern1 的行。当在文件中找到pattern2时停止搜索

    Using grep sed awk我想寻找pattern1 until pattern2在文件中找到并打印仅包含的结果pattern1 我不想要模式 1 和模式 2 范围之间的线 该站点中有许多解决方案 请帮忙 我尝试了以下方法但没有结果

随机推荐

  • 如何在一个标头下使用 JNAerator 和多个动态库?

    我正在使用 JNAerator 生成一个可以包含在项目中的单个 jar 文件 并且我希望支持每个操作系统的动态库并将所有内容都归档到这个单个 jar 中 到目前为止 在摆弄 JNAerator 时 我已经能够使用如下命令包含单个动态库 ja
  • Android 注释 REST 设置标头

    我正在使用 Android 注释 最近发现了一个错误Spring Rest 模板使用导致 EOFException https stackoverflow com questions 13182519 spring rest templat
  • 从外部访问WEBrick服务器

    我希望能够从家外的计算机访问我的开发服务器 我尝试过跑步rvmsudo rails server p 80 但是当我尝试使用我的 IP 访问我的计算机时 我进入了路由器的配置页面 有任何想法吗 在这里测试 对我来说是这样的 d 守护进程服务
  • Openshift 端口转发

    已经有很多关于它的话题了 但我被困住了 我配置ssh成功了 现在我想配置端口转发以与 TOAD 连接 我用的是这个 https blog openshift com getting started with port forwarding
  • 如何最好地继承原生 JavaScript 对象? (特别是字符串)

    我是一个长期浏览者 但还是第一次参与者 如果我缺少任何礼仪细节 请告诉我 另外 我到处搜索 包括这个网站 但我还没有找到关于我想要做什么的清晰而简洁的解释 如果我错过了 请为我指出正确的方向 好吧 我想扩展一些原生 JavaScript 对
  • 重大地点变更如何运作?

    谁能确认重大位置变更是如何运作的 当用户移动时 iPhone 的蜂窝接收器从一个蜂窝塔切换到另一个蜂窝塔时 会计算移动吗 移动是通过在 可见 蜂窝塔之间进行三角测量来计算的 以最好地计算用户的位置 移动是根据与desiredAccuracy
  • 从 lsof(Linux 命令行)中提取字段/属性

    随着最近迁移到 Flash 10 或者可能是发行版选择 我和许多其他人不再能够从 tmp 复制 Flash 视频 不过 我在以下方面找到了解决方法 首先 执行 lsof grep Flash 它应该返回如下输出 plugin co 8935
  • 为什么 IE9 放弃了对文件 API 和文件输入的多重属性的支持?

    为什么 IE9 放弃了对文件 API 和文件输入的多重属性的支持 Chrome Firefox 和 Safari 支持这些功能 但 IE9 和 Opera 由于某种未知的原因未能支持这些 对于 IE9 我们似乎仍然坚持使用 Flash 来支
  • F# 实例语法

    F 中的成员声明使用什么指示符 我更喜欢 member a MethodName this是许多字母和x否则使用 我几乎总是使用x作为名字this实例 除了它比其他选项短这一事实之外 这背后没有任何逻辑 我见过的选项是 member x F
  • 在Android中获取html的textarea的值

    我有一个网页加载于WebView 有四个TextAreas存在于网页我在页面加载后填写WebView当我填充它们时 我想得到的值TextAreas点击Next Button在我的 Android 中 下一个按钮在 Android 中而不是在
  • 我可以从 Grails 插件外部控制插件加载顺序吗?

    我想从 Grails 插件外部控制插件加载顺序 在插件中 您可以使用 dependentOn loadAfter 或 loadBefore 控制加载顺序 http grails org doc latest guide plugins ht
  • 在哪里定义模板类的 static const 成员变量

    根据这个问题 https stackoverflow com q 2605520 368599 answer https stackoverflow com questions 2605520 c where to initialize s
  • 将字符串的第一个字节加一

    我有一个main程序 int main char str hello printf s n str Shift first byte 1 to get iello Have tried str 0 gt gt 8 printf s n st
  • 如果我执行 Object a=b 然后 b.change() 也会改变吗?

    如果我有 public class Bike private int speed public void setSpeed int speed this speed speed public int getSpeed return spee
  • newInstance() 与 new

    调用 newInstance 是否会受到惩罚 或者底层的机制是否相同 newInstance 相对于 new 关键字 有多少开销 如果有的话 忽视了 newInstance 暗示使用反射的事实 在现实世界的测试中 通过传递 10 个参数的
  • 如何防止 TabControl 中 UserControl 的延迟加载?

    我刚刚发现 TabControl 中的 UserControls 在选择父 TabPage 之前不会加载 有没有办法防止这种延迟加载 我需要在主窗体加载时初始化用户控件 The TabControl并没有特别对待它的控件 实际上在任何情况下
  • VS2012:调试器启动时 ntdll.dll 中的断点,没有更多信息

    有时 当我使用 VS2012 在调试模式下启动 调试应用程序时 我会看到一个对话框 已触发断点 它不包含其他信息 所以我点击了 break 来看看发生了什么 哦 但是后来我得到 wntdll pdb not returned 并且没有关于该
  • 如何使用 Hive 获取以分钟为单位的日期差异

    下面的查询是我的 sql server 查询 我希望它将其转换为 hive 查询 select DATEDIFF minute 19000101 2013 01 01 10 10 10 你可以使用unix timestamp https c
  • Webpack 4 和 Uglify 插件(TypeError:无法读取未定义的属性“长度”)

    我在 Linux 机器上使用 Webpack 4 时遇到问题 构建在开发模式下运行良好 但在生产模式下失败 它似乎也可以在 Windows 机器上运行 我确实尝试将 webpack 降级到旧版本 但什么也没做 节点js v10 2 1 Ty
  • 如何将第一个 POSIX `[:cntrl:]` 字符与旧版 BSD `awk` 匹配?

    我想将输入字符串的第一个 ASCII 控制字符与awk但我偶然发现了旧版 BSD 上的一个错误 bin bash printf a b c n awk match 0 cntrl print RSTART 1 预期输出为 3 代码可能有什么