问题标签 [awk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1798 浏览

unix - 如何编写一个每 N 行只输出一行的 unix 过滤器

假设使用以下行提供过滤器标准输入:

如果有人告诉我如何编写一个仅每 4 行打印一次的脚本,那就更好了,在上面的示例输入的情况下:

0 投票
5 回答
85192 浏览

python - Perl、Python、AWK 和 sed 有什么区别?

它们之间的主要区别是什么?在哪些典型场景中使用每种语言更好?

0 投票
2 回答
3348 浏览

awk - 在 awk 中组合字段

在awk中组合字段是否容易?具体来说,我有这样的行:

我想将这两个数字提取为前两个字段,但随后我希望所有文本(逗号和全部)成为第三个字段。有没有办法做到这一点?

我的基本 awk 调用是这样的:

这适用于第一行,但在第二行文本中的逗号处停止。

0 投票
5 回答
10549 浏览

bash - 一次性填充文件中的占位符

我有一个带有占位符字符串的骨架文本文件:

等等。占位符的特定“形式”无关紧要——我可以将它们更改为最适合特定实现的任何形式。

我有一个 bash 脚本,我知道占位符的值,我需要生成一个新文件,将占位符替换为值。

我可以使用 sed 多次执行此操作,但这并不有趣。我不想使用 Perl。我只想使用 textutils 和 bash 本身。

一次性完成我想做的事情的最佳方法是什么?

0 投票
1 回答
793 浏览

awk - 保持原始格式 POST 通过 AWK

我在使用 AWK 从流中简单地删除字段时遇到问题,如下所示:

我使用以下代码删除第一个字段:

$ awk '{ $1=""; 打印}'example.out

为什么会这样?这是因为 AWK 删除了所有空格 - 这可以防止吗?

提前致以亲切的问候

0 投票
3 回答
10514 浏览

linux - 使用 AWK 删除字段前的空格

与同一个人提交的通过 AWK 保持原始格式 POST 几乎完全相同

我有一个关于g awk的简单问题,如下图所示:

使用以下 gawk 代码 - 使用 gensub() 来维护原始格式:

如何使用g awk 或 awk (可能使用正则表达式)删除字段 $1 之前的先前空格(^)

如下图所示:

提前致以亲切的问候

0 投票
5 回答
2171 浏览

perl - 如何使用 awk 或 Perl 增加大型 XML 文件中的数字?

我有一个带有以下行的 XML 文件:

我想将此值增加 0.04 并保持 XML 的格式不变。我知道使用 Perl 或 awk 脚本可以做到这一点,但我很难用表达式来隔离数字。

0 投票
9 回答
104740 浏览

linux - 命令行:在 grep 匹配的所有文件名中搜索和替换

我正在尝试在 grep 匹配的所有文件中搜索和替换字符串:

grep -n 'foo' *将以以下形式给我输出:

对于 grep 返回的每个文件,我想通过替换为来修改foo文件bar

0 投票
6 回答
3608 浏览

sed - 文件中的 DOS 到 UNIX 路径替换

我有一个包含这种路径的文件:

我想得到以下文件:

请注意,不应修改不匹配的路径。

我知道如何使用 sed 为固定数量的子目录执行此操作,但是可变数量给我带来了麻烦。实际上,我将不得不使用许多s/x/y/表达式(与最大深度一样多......不是很优雅)。

可能是用awk,但这种魔法超出了我的技能。

仅供参考,我需要这个技巧来纠正 cygwin 平台上的一些 gcov 二进制文件。


我正在处理二进制文件;因此,我可能有以下类型的数据:

应该翻译为:

第一个\不能翻译,尽管它在同一行。

但是,我刚刚.gcno在编辑此文本时检查了我的文件,看起来所有路径的两侧都带有零,因此下面的大多数答案都应该适合。

0 投票
4 回答
920 浏览

shell - 管道时,Awk 似乎断开了我的 DB2 会话

我正在尝试在 KornShell (ksh) 中运行以下命令:

我试图实现的是将特定表上的索引列表放入一个数组中,稍后我可以遍历该数组。

问题是,当我运行上述命令时,数组的内容以“SQL1024N”的错误消息开头(这告诉我数据库连接不存在)。

但是,如果我这样删除awk语句末尾的 :

它工作得很好(嗯,在某种程度上它正在返回数据。显然没有awk我没有捕获正确的数据)。

有谁知道为什么awk会有这种影响?

我很欣赏有不止一种方法可以获取这些数据,但它让我困惑为什么会发生这种情况。

提前致谢。