问题标签 [gawk]

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 投票
6 回答
3330 浏览

error-handling - awk 可以跳过不存在的文件吗?

有没有办法让awk (gawk) 忽略或跳过丢失的文件?也就是说,通过命令行传递的文件不再存在于文件系统中(例如,/proc/[1-9]* 下快速出现/消失的文件)。

默认情况下,丢失文件是致命错误:-(

我希望能够做类似这样的事情:

包装脚本无法在 awk 运行之前检查文件是否存在,因为它们可能会在检查它们和 awk 尝试打开它们之间消失,即,这是一个竞争条件。(在 awk 中 check-and-then-open 也是一种竞争条件,虽然时间比较紧)

0 投票
1 回答
8487 浏览

bash - AWK:将脚本输出从脚本重定向到另一个具有动态名称的文件

我知道我可以将 awk 的打印输出从脚本中重定向到另一个文件,如下所示:

(我知道那是个假例子,但这只是一个例子......)

但我需要将输出重定向到另一个文件,该文件具有这样的动态名称

并且输出应该被重定向到somedinamicdata-SomeStaticText.

我知道我可以通过以下方式做到:

但问题是它是一个更大的 awk 脚本,我必须根据某些条件输出到多个文件(并且这个 awk 脚本是从另一个 bash 调用的,它通过 -v 开关传递一些动态变量......和儿子在。

有可能吗?

提前致谢。

0 投票
4 回答
1632 浏览

linux - 在 sed 或 awk 中,如何处理 * 可能 * 跨越多行的记录分隔符?

我的日志文件是:

我想解析在第一行找到 cat 的完整多行条目。sed在和/或中执行此操作的最佳方法是什么awk

即我希望我的解析产生:

0 投票
9 回答
17727 浏览

bash - 使用 gawk 解析 CSV 文件

如何使用 gawk 解析 CSV 文件?简单的设置FS=","是不够的,因为里面有逗号的引用字段将被视为多个字段。

FS=","使用which 不起作用的示例:

文件内容:

gawk 脚本:

输出不良:

所需的输出:

0 投票
2 回答
1172 浏览

awk - 使用正则表达式对整个记录进行 awk 匹配

使用 awk 我想使用正则表达式匹配整个记录。默认情况下,正则表达式匹配是针对记录的一部分。

理想的解决方案是:

  • 无论使用何种字段分隔符,对所有字段都是通用的。
  • 不要将整个输入视为单个字段并使用字符串函数手动解析它。
  • 例如,以一般方式工作,而不是特定于 gawk。

然而,任何和所有的解决方案都是有意义的,只要它们使用 Awk 而不调用外部程序

一个例子,我有:

我得到:

这是我正在寻找的结果:

0 投票
3 回答
947 浏览

ubuntu - AWK - 我的正则表达式不尊重大小写

我正在运行 Ubuntu 8.04,我的代码看起来像这样......

我很快发现如果没有 --posix 开关,{n} 表达式将无法在 gawk 中工作。一旦启用,表达式就可以工作,但它是不区分大小写的匹配 AAAA 和 aaaa。这里发生了什么?

0 投票
5 回答
2096 浏览

reference - AWK 的最佳参考/婴儿床单

在一系列类似的问题中,您见过的最好的 AWK 参考资料是什么?

如果真的没有(我还没有找到圣杯),也许我们可以在一个单独的问题中编译一个。

0 投票
4 回答
380 浏览

parsing - 如何对日志文件执行计算

我有一个看起来像这样的:

我想创建一个shell脚本来计算括号中的第二个和第三个字段的平均值(8400最后一个例子中)。一个更棘手的问题:只有当最后一个不是时,是否有可能获得第三场的平均值0

我知道我可以使用Ruby或其他语言来创建脚本,但我想用Bash. 有关如何创建此类脚本的资源或提示的任何好的建议都会有所帮助。

0 投票
2 回答
883 浏览

formatting - 使用 GAWK 打印数千个分离的浮点数

我必须用 gawk 处理一些巨大的文件。我的主要问题是我必须使用千位分隔符打印一些浮点数。例如:10000应该在输出中显示为10.000和。10000,0110.000,01

我(和谷歌)想出了这个函数,但是对于浮点数失败了:

但它因浮动而失败。

现在我正在考虑将输入拆分为一个整数和一个 < 1 部分,然后在格式化整数之后再次粘合它们,但是没有更好的方法吗?

免责声明:

  • 我不是程序员
  • 我通过一些 SHELL 环境知道这一点。可以设置千位分隔符的变量,但它必须在具有不同语言和/或语言环境设置的不同环境中工作。
  • 英语是我的第二语言,如果我用错了,请见谅
0 投票
4 回答
1859 浏览

awk - 任何人都知道如何在 Windows 上制作一个独立的 Awk/Gawk 程序

我正在使用 awk 脚本进行一些相当繁重的解析,这些解析可能在未来重复使用,但我不确定我对 unix 不友好的同事是否愿意安装 awk/gawk 来进行解析. 有没有办法从我的脚本创建一个独立的可执行文件?