问题标签 [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.
unix - 如何根据令牌拆分文件?
假设您有一个文件,其中包含由 $ 分隔的文本(从 1 到 N)如何分割文件以使最终结果是 N 个文件?
text1 带换行符 $
text2 $etc... $
textN
我正在考虑使用 awk 或 sed 的东西,但是是否有任何可用的 unix 应用程序已经执行了这种任务?
regex - 如何从文件中提取文本行?
我有一个充满文件的目录,我需要从它们中提取页眉和页脚。它们都是可变长度的,所以使用 head 或 tail 是行不通的。每个文件都有一行我可以搜索,但我不想在结果中包含该行。
通常是
并以
我希望文件名保持不变,所以我需要覆盖原件,或者写入不同的目录,我会自己覆盖它们。
哦,是的,它当然是在 linux 服务器上,所以我有 Perl、sed、awk、grep 等。
email - 使用 unix utils 连接许多电子邮件文件
我想知道是否有任何简单的方法可以打印多封电子邮件(大约 200 封),以便它们继续打印,而不是每页打印一封。我已经尝试过雷鸟和进化,这似乎是不可能的。连接单个邮件文件是否可行,或者是否有其他 unix 实用程序可以做到这一点?sed 或 awk 适合这个吗?
bash - AWK:将脚本输出从脚本重定向到另一个具有动态名称的文件
我知道我可以将 awk 的打印输出从脚本中重定向到另一个文件,如下所示:
(我知道那是个假例子,但这只是一个例子......)
但我需要将输出重定向到另一个文件,该文件具有这样的动态名称
并且输出应该被重定向到somedinamicdata-SomeStaticText
.
我知道我可以通过以下方式做到:
但问题是它是一个更大的 awk 脚本,我必须根据某些条件输出到多个文件(并且这个 awk 脚本是从另一个 bash 调用的,它通过 -v 开关传递一些动态变量......和儿子在。
有可能吗?
提前致谢。
perl - 如何将文件名附加到该文件中每一行的末尾?
我需要对数百个文件执行以下操作: 将文件名(可能包含空格)附加到文件中每一行的末尾。
在我看来应该有一些方法可以做到这一点:
其中FILENAME
表示当前文件的名称。是否有代表当前文件名的 sed 变量?或者是否有人使用 bash、awk 等有不同的解决方案?
linux - 在 sed 或 awk 中,如何处理 * 可能 * 跨越多行的记录分隔符?
我的日志文件是:
我想解析在第一行找到 cat 的完整多行条目。sed
在和/或中执行此操作的最佳方法是什么awk
?
即我希望我的解析产生:
bash - 使用 gawk 解析 CSV 文件
如何使用 gawk 解析 CSV 文件?简单的设置FS=","
是不够的,因为里面有逗号的引用字段将被视为多个字段。
FS=","
使用which 不起作用的示例:
文件内容:
gawk 脚本:
输出不良:
所需的输出:
unix - 如何使用 argv 使用 AWK 打印文本文件的第 N 列
假设我有一个文本文件,其中的数据由空格分隔成列。我想编写一个 shell 脚本,它将文件名和数字 N 作为输入,并仅打印出该列。使用 awk 我可以执行以下操作:
此代码打印出第二列。
但是如何将其包装在 shell 脚本中,以便可以在 argv 中传递任意列?
awk - 使用正则表达式对整个记录进行 awk 匹配
使用 awk 我想使用正则表达式匹配整个记录。默认情况下,正则表达式匹配是针对记录的一部分。
理想的解决方案是:
- 无论使用何种字段分隔符,对所有字段都是通用的。
- 不要将整个输入视为单个字段并使用字符串函数手动解析它。
- 例如,以一般方式工作,而不是特定于 gawk。
然而,任何和所有的解决方案都是有意义的,只要它们使用 Awk 而不调用外部程序。
一个例子,我有:
我得到:
这是我正在寻找的结果:
shell - 文件中的 Shell 脚本编号行
我需要找到一种更快的方法来使用 awk 和 sed 等工具以特定方式对文件中的行进行编号。我需要以这种方式对每行的第一个字符进行编号:1,2,3,1,2,3,1,2,3 等。
例如,如果输入是这样的:
输出需要如下所示:
这是我所拥有的一部分。$lines 是数据文件中的行数除以 3。因此,对于 21000 行的文件,我处理此循环 7000 次。
基本上,这一次抓取 3 行,对它们进行编号,然后添加到输出文件中。它很慢......然后一些!我不知道另一种更快的方法来做到这一点......有什么想法吗?