awk FieldWITHS 是如何工作的

2023-12-06

几天前我开始学习 awk 编程(有效的 awk 脚本)。在第 102 页,作者解释了字段宽度,但我不明白它是如何工作的。请有人向我解释一下 fieldwidths 是如何工作的?


场宽以空格分隔的字段宽度列表。设置后, gawk 将输入解析为固定宽度的字段,而不是使用 FS 变量的值作为字段分隔符。

我认为一个例子可以更好地解释它是如何工作的:

$ echo "aaabbbbcccccdddddd"|awk -v FIELDWIDTHS="3 4 5 6" '{for(i=1;i<=NF;i++)print $i}'    
aaa
bbbb
ccccc
dddddd

当很难找到合适的人时,它很有用FS记录的长度,但记录具有固定长度的字段。

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

awk FieldWITHS 是如何工作的 的相关文章

  • 在Linux下,C++源代码如何成为可执行文件或静态/动态库。以及程序运行时如何加载到内存中

    我知道源代码可以编译并链接到共享 静态库或 ELF 可执行文件 当程序运行时 它会加载到内存中并根据ELF格式创建一个进程映像 但我不确定程序如何加载共享库 链接器如何在外部库中查找符号以及 a 存档如何工作 如果程序在 64 位操作系统上
  • 使用 awk 对单独行上的多个字段进行数学运算

    我一直在对 3 字段 x 2 行文件进行一些数学运算 如下所示 3216 01 2724 81 1708 25 1762 48 617 436 1650 79 我的问题是如何引用第一行的第一个字段并在同一计算中引用第二行的第一个字段 为了完
  • 如何将包含空格的参数传递给包含 gawk match() 的脚本?

    gt gawk match foo bar junk 是一个合法的命令 我想传递参数foo bar在 shell 脚本中添加它 foobar sh其中有 bin bash gawk match 1 junk 不起作用 gt foobar s
  • awk 有条件地组合多行

    我想将多行不同长度的值合并到一行 如果它们与 ID 匹配 输入示例是 ID Value a 1 49 a 2 75 b 1 120 b 2 150 b 3 211 c 1 289 d 1 301 d 2 322 所需的输出示例是 ID Va
  • SED 或 AWK 将所有内容替换为另一个文件中的模式

    我正在尝试使用 SED 脚本进行模式替换 但它无法正常工作 样本内容 txt 288Y2RZDBPX1000000001dhana JP2F64EI1000000002d EU9V3IXI1000000003dfg1000000001dfd
  • 比较不同文件中的列并打印那些不匹配的列

    我有两个文件 file1 和 file2 我想将 file1 的几列 1 2 3 和 4 与 file2 的几列 1 2 3 和 4 进行比较 并打印 file2 中与 file1 中任何行都不匹配的那些行 E g file1 aaa bb
  • 如何保留awk中字段之间的原始空格?

    当处理输入时awk 有时我想编辑其中一个字段 而不触及其他任何内容 考虑一下 ls l awk 1 total 88 rw r r 1 jack jack 8 Jun 19 2013 qunit 1 11 0 css rw r r 1 ja
  • awk 中的并行处理?

    awk 逐行处理文件 假设每行操作不依赖于其他行 有没有办法让 awk 一次并行处理多行 是否有其他文本处理工具可以自动利用并行性并更快地处理数据 唯一尝试提供 awk 并行实现的 awk 实现是并行 awk http code googl
  • awk 计数频率

    嘿 我想统计 awk 中某一列的数据量 一个示例数据集是 2 5 8 1 3 7 8 5 9我想计算第二列中 5 的出现频率 这就是我尝试过的方法 但没有成功 total 0 for i 1 i lt NF i if i 2 if i 5
  • 使用 grep 仅打印上下文

    Using grep http www computerhope com unix ugrep htm 您可以打印与您的搜索查询匹配的行 添加一个 C选项将打印两行周围的上下文 如下所示 gt grep C 2 lorem some con
  • 如何使用AWK从文件中连续输出行

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

    我现在正在尝试学习 awk 我想做一项特定的任务 我的问题与之前发布的问题范围相似 使用 awk 将列转置为行 https stackoverflow com questions 13634816 using awk to transpos
  • Bash 脚本问题

    我可以很好地运行这个命令 并得到我想要的输出 ifconfig eth0 grep HWaddr awk print 5 但是 当我将命令设置为变量并打印该变量时 出现错误 CASS INTERNAL ifconfig eth0 grep
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • 使用正确的头打印文件名

    我想获取当前目录中的文件名 使得文件的第一行等于myWord 我想结合find type f命令与 exec选项与head 1 filename但无济于事 有没有一些聪明的 单行的解决方案来解决这个问题 您可以使用find with awk
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 对重复的名称添加双引号

    我想从文件中找到重复的名称 如下所示 并用 标记它们 file James Miki 123 456 7890 Wang Tai 234 563 6879 James Miki 123 456 7890 输出希望看起来像 James Mik
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot
  • 如何将查找和替换限制为 CSV 中的一列?

    我有一个 4 列 CSV 文件 例如 0001 fish animal eats worms I use sed对文件进行查找和替换 但我需要将此查找和替换限制为仅在第 3 列中找到的文本 如何让查找和替换仅发生在这一列上 您确定要使用se

随机推荐

  • 从非安全页面向安全 URL 提交表单

    假设我在这个位置的页面上有一个表单 http mydomain com myform htm 表格看起来像这样
  • 如何在客户端(JS 或 JQuery)将 JSON 转换为 XML [重复]

    这个问题在这里已经有答案了 是否有可能在客户端 Javascript 或 Jquery 将 JSON 数据更改为 XML 尝试使用 JQueryhttp api jquery com jQuery parseXML 您可以创建一个空的 xm
  • GridView getChildAt() 返回 null

    我正在尝试从 GridView 获取视图 不幸的是 它返回了null onCreate GridView gridview GridView findViewById R id gridView gridview getChildAt 3
  • 使用 PHP 可以实现异步 HTTP 请求吗?

    我有一个 PHP 脚本 需要从远程服务器下载多个文件 目前 我只是使用 cURL 进行循环下载和处理文件 这意味着在前一个文件完成之前它不会开始下载一个文件 这会显着增加脚本运行时间 例如 是否可以启动多个 cURL 实例 同时异步下载这些
  • 在Java中绘制Hello World最快的方法是什么

    什么是fastest使用 Java 中的 GUI 在屏幕上绘制 Hello World 的方法 1 使用最少的类数 2 执行最少的字节代码 3 JVM 调整 因此 当我在 Windows 中双击 Jar 文件时 Hello World 立即
  • 使用 IN 子句的顺序选择记录

    I have SELECT FROM Table1 WHERE Col1 IN 4 2 6 我想选择并返回具有 IN 子句中指定的指定顺序的记录 首先显示Col1 4 Col1 2 的记录 我可以用 SELECT FROM Table1 W
  • 如何将嵌套类型与 NEST 客户端一起用于 Elastic Search

    我在尝试在 Elastic Search 中的文档上使用统计方面时遇到了一些问题 这导致 Elastic Search google 群组上出现以下帖子 请参阅https groups google com forum topic elas
  • 导入键盘出现 python 错误

    所以我使用下载了 python 2 7 的键盘模块 pip install keyboard 安装后我尝试将其导入 import keyboard as keyboard 但是它给了我这个错误 File C Python27 lib sit
  • 静默使用 Microsoft XPS Document Writer 打印机创建 XPS

    几天来 我一直在努力在没有对话框的情况下将 XPS 打印到文件 我读过 CodeGuru 和 Feng Yuan MSDN 中有关此事的帖子 以及这里的许多讨论主题 但我仍然迷失 具体来说 我的场景是我必须使用一个第三方 API 它会打印到
  • 递归地伊托亚

    我一直在尝试写一个递归的函数版本itoa 代码如下所示 void itoa int n char s static int i 0 if n 10 0 itoa n 10 s else if n lt 0 i 1 s 0 is allrea
  • Gimp 程序中的 OpenCV Python 脚本 - 草地/硬表面边缘检测

    我想开发一个 Python OpenCV 脚本来复制 改进我开发的 Gimp 程序 该过程的目标是提供一个遵循草地和硬表面之间分界线的 x y 点阵列 这个阵列将使我能够完成我的 500 磅 54 英寸宽的压力清洗机器人 它有一个 Rasp
  • 超高性能 C/C++ 哈希映射(表、字典)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要将原始键 int 可能是long 映射到高性能哈希映射数据结构中的结构值 我的程序将有几百个这样的地图 每个地图通常最多有几千个条目 然而 地
  • 检票处的脚手架

    是否有适用于 Wicket 1 5 的有效 支持和维护的脚手架解决方案 我知道 Wicketopia 位于两个不同地点来源锻造 and github但这仍然针对 wicket 1 4 带来了自己的 wicket 并且发送到邮件列表的邮件在几
  • 如果更改 2 个部分中的线程数,OpenMP 线程的 SPID 是否应该更改?

    我有 2 个 OpenMP 并行区域 我在 Linux 下的 gcc 下使用 C 具有不同数量的线程 假设一个区域有 4 个线程 另一个区域有 8 个线程 然后 如果我跑ps T pidof name of process 4 个 SPID
  • 为什么数组集合中没有拼接?

    据我所知 拥有集合类背后的整个想法是引入额外的包装方法 这对开发人员来说会很方便 那为什么Flex中的ArrayCollection好像没有一些array有的方法呢 ArrayCollection 没有返回新数组的复制 连接 连接或拼接方法
  • Web 架构:MVC、延迟初始化、数据传输对象、在视图中打开会话,是否有共识方法?

    对于典型的 Web 3 层应用程序 您认为以下设计存在哪些缺陷 以及您理想的架构建议是什么 我目前的蓝图方法非常粗略 假设Java Spring Hibernate JSP 控制器 无状态 可能用只读事务包装 以避免延迟初始化异常 仅通过服
  • 首次调用 WebClient.DownloadString 大约需要 15 秒

    string url http google com index html WebClient client new WebClient Stopwatch sw new Stopwatch sw Start string text cli
  • 如何通过钥匙获取锁

    在不锁定整个集合的情况下防止并发更新键值集中一条记录的最佳方法是什么 从语义上讲 我正在寻找某种按键锁定 理想情况下是 Java 实现 但不一定 interface LockByKey void lock String key acquir
  • 如何安装com.mysql.jdbc.Driver“找不到类名的驱动程序:com.mysql.jdbc.Driver”?

    我正在设置 Atlassian Confluence 在选择数据库时 我选择 使用外部 Mysql DB 我看过一些教程 但对我来说 它并没有按照应有的方式工作 我使用 ubuntu 12 04 服务器并安装了 mysql 现在我尝试与外部
  • awk FieldWITHS 是如何工作的

    几天前我开始学习 awk 编程 有效的 awk 脚本 在第 102 页 作者解释了字段宽度 但我不明白它是如何工作的 请有人向我解释一下 fieldwidths 是如何工作的 场宽以空格分隔的字段宽度列表 设置后 gawk 将输入解析为固定