问题标签 [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.
error-handling - awk 可以跳过不存在的文件吗?
有没有办法让awk (gawk) 忽略或跳过丢失的文件?也就是说,通过命令行传递的文件不再存在于文件系统中(例如,/proc/[1-9]* 下快速出现/消失的文件)。
默认情况下,丢失文件是致命错误:-(
我希望能够做类似这样的事情:
包装脚本无法在 awk 运行之前检查文件是否存在,因为它们可能会在检查它们和 awk 尝试打开它们之间消失,即,这是一个竞争条件。(在 awk 中 check-and-then-open 也是一种竞争条件,虽然时间比较紧)
bash - AWK:将脚本输出从脚本重定向到另一个具有动态名称的文件
我知道我可以将 awk 的打印输出从脚本中重定向到另一个文件,如下所示:
(我知道那是个假例子,但这只是一个例子......)
但我需要将输出重定向到另一个文件,该文件具有这样的动态名称
并且输出应该被重定向到somedinamicdata-SomeStaticText
.
我知道我可以通过以下方式做到:
但问题是它是一个更大的 awk 脚本,我必须根据某些条件输出到多个文件(并且这个 awk 脚本是从另一个 bash 调用的,它通过 -v 开关传递一些动态变量......和儿子在。
有可能吗?
提前致谢。
linux - 在 sed 或 awk 中,如何处理 * 可能 * 跨越多行的记录分隔符?
我的日志文件是:
我想解析在第一行找到 cat 的完整多行条目。sed
在和/或中执行此操作的最佳方法是什么awk
?
即我希望我的解析产生:
bash - 使用 gawk 解析 CSV 文件
如何使用 gawk 解析 CSV 文件?简单的设置FS=","
是不够的,因为里面有逗号的引用字段将被视为多个字段。
FS=","
使用which 不起作用的示例:
文件内容:
gawk 脚本:
输出不良:
所需的输出:
awk - 使用正则表达式对整个记录进行 awk 匹配
使用 awk 我想使用正则表达式匹配整个记录。默认情况下,正则表达式匹配是针对记录的一部分。
理想的解决方案是:
- 无论使用何种字段分隔符,对所有字段都是通用的。
- 不要将整个输入视为单个字段并使用字符串函数手动解析它。
- 例如,以一般方式工作,而不是特定于 gawk。
然而,任何和所有的解决方案都是有意义的,只要它们使用 Awk 而不调用外部程序。
一个例子,我有:
我得到:
这是我正在寻找的结果:
ubuntu - AWK - 我的正则表达式不尊重大小写
我正在运行 Ubuntu 8.04,我的代码看起来像这样......
我很快发现如果没有 --posix 开关,{n} 表达式将无法在 gawk 中工作。一旦启用,表达式就可以工作,但它是不区分大小写的匹配 AAAA 和 aaaa。这里发生了什么?
reference - AWK 的最佳参考/婴儿床单
在一系列类似的问题中,您见过的最好的 AWK 参考资料是什么?
如果真的没有(我还没有找到圣杯),也许我们可以在一个单独的问题中编译一个。
parsing - 如何对日志文件执行计算
我有一个看起来像这样的:
我想创建一个shell脚本来计算括号中的第二个和第三个字段的平均值(840
在0
最后一个例子中)。一个更棘手的问题:只有当最后一个不是时,是否有可能获得第三场的平均值0
?
我知道我可以使用Ruby
或其他语言来创建脚本,但我想用Bash
. 有关如何创建此类脚本的资源或提示的任何好的建议都会有所帮助。
formatting - 使用 GAWK 打印数千个分离的浮点数
我必须用 gawk 处理一些巨大的文件。我的主要问题是我必须使用千位分隔符打印一些浮点数。例如:10000
应该在输出中显示为10.000
和。10000,01
10.000,01
我(和谷歌)想出了这个函数,但是对于浮点数失败了:
但它因浮动而失败。
现在我正在考虑将输入拆分为一个整数和一个 < 1 部分,然后在格式化整数之后再次粘合它们,但是没有更好的方法吗?
免责声明:
- 我不是程序员
- 我通过一些 SHELL 环境知道这一点。可以设置千位分隔符的变量,但它必须在具有不同语言和/或语言环境设置的不同环境中工作。
- 英语是我的第二语言,如果我用错了,请见谅
awk - 任何人都知道如何在 Windows 上制作一个独立的 Awk/Gawk 程序
我正在使用 awk 脚本进行一些相当繁重的解析,这些解析可能在未来重复使用,但我不确定我对 unix 不友好的同事是否愿意安装 awk/gawk 来进行解析. 有没有办法从我的脚本创建一个独立的可执行文件?