问题标签 [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 投票
5 回答
3847 浏览

unix - 如何根据令牌拆分文件?

假设您有一个文件,其中包含由 $ 分隔的文本(从 1 到 N)如何分割文件以使最终结果是 N 个文件?

text1 带换行符 $
text2 $etc... $
textN

我正在考虑使用 awk 或 sed 的东西,但是是否有任何可用的 unix 应用程序已经执行了这种任务?

0 投票
7 回答
2725 浏览

regex - 如何从文件中提取文本行?

我有一个充满文件的目录,我需要从它们中提取页眉和页脚。它们都是可变长度的,所以使用 head 或 tail 是行不通的。每个文件都有一行我可以搜索,但我不想在结果中包含该行。

通常是

并以

我希望文件名保持不变,所以我需要覆盖原件,或者写入不同的目录,我会自己覆盖它们。

哦,是的,它当然是在 linux 服务器上,所以我有 Perl、sed、awk、grep 等。

0 投票
4 回答
905 浏览

email - 使用 unix utils 连接许多电子邮件文件

我想知道是否有任何简单的方法可以打印多封电子邮件(大约 200 封),以便它们继续打印,而不是每页打印一封。我已经尝试过雷鸟和进化,这似乎是不可能的。连接单个邮件文件是否可行,或者是否有其他 unix 实用程序可以做到这一点?sed 或 awk 适合这个吗?

0 投票
1 回答
8487 浏览

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

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

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

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

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

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

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

有可能吗?

提前致谢。

0 投票
7 回答
4081 浏览

perl - 如何将文件名附加到该文件中每一行的末尾?

我需要对数百个文件执行以下操作: 将文件名(可能包含空格)附加到文件中每一行的末尾。

在我看来应该有一些方法可以做到这一点:

其中FILENAME表示当前文件的名称。是否有代表当前文件名的 sed 变量?或者是否有人使用 bash、awk 等有不同的解决方案?

0 投票
4 回答
1632 浏览

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

我的日志文件是:

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

即我希望我的解析产生:

0 投票
9 回答
17727 浏览

bash - 使用 gawk 解析 CSV 文件

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

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

文件内容:

gawk 脚本:

输出不良:

所需的输出:

0 投票
2 回答
79506 浏览

unix - 如何使用 argv 使用 AWK 打印文本文件的第 N 列

假设我有一个文本文件,其中的数据由空格分隔成列。我想编写一个 shell 脚本,它将文件名和数字 N 作为输入,并仅打印出该列。使用 awk 我可以执行以下操作:

此代码打印出第二列。

但是如何将其包装在 shell 脚本中,以便可以在 argv 中传递任意列?

0 投票
2 回答
1172 浏览

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

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

理想的解决方案是:

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

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

一个例子,我有:

我得到:

这是我正在寻找的结果:

0 投票
9 回答
8079 浏览

shell - 文件中的 Shell 脚本编号行

我需要找到一种更快的方法来使用 awk 和 sed 等工具以特定方式对文件中的行进行编号。我需要以这种方式对每行的第一个字符进行编号:1,2,3,1,2,3,1,2,3 等。

例如,如果输入是这样的:

输出需要如下所示:

这是我所拥有的一部分。$lines 是数据文件中的行数除以 3。因此,对于 21000 行的文件,我处理此循环 7000 次。

基本上,这一次抓取 3 行,对它们进行编号,然后添加到输出文件中。它很慢......然后一些!我不知道另一种更快的方法来做到这一点......有什么想法吗?