问题标签 [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.
awk - 如何从多个输入文本文件中仅将唯一元素添加到 awk 中的数组
正如主题所暗示的,如何从多个文本文件中读取信息,并且只在数组中添加元素 1 次,而不管它们是否在不同的文本文件中多次出现?
我从这个脚本开始,它按照它们在不同文档中出现的顺序读入并打印出所有元素。
例如,看看这 3 个包含以下数据的不同文本文件
文件 1:
文件 2:
文件 3:
我想检查当前元素是否已经添加到数组中,但就目前而言,我的脚本会打印出所有元素。
给出这个输出
当我希望它给出以下内容时
1)换句话说,首先检查元素是否已经在数组中,如果没有,则添加它/它们
2)如果可能的话,之后对数组进行排序
谢谢 =)
awk - 如何为每个输入文本文件“做某事”
假设我读到了存储在三个不同文本文件中的以下信息(可以更多)
文件 1
文件 2
文件 3
当我读入此信息时,我希望它将这两个文件中的此信息打印到单独的数组中,因为现在它们会同时打印出来
现在我有这个脚本同时打印出所有信息
但是有没有办法读取多个文件并为每个文本文件执行此操作?就像在执行 awk -f test.awk 1.txt 2.txt 3.txt时获取此输出一样
我得到这个输出
最好不要同时读取每个文件,因为我将拥有 30 个文本文件。
编辑_ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _ _ __ _ __ _ __ _ __ _ __ _ __
如果可能的话,我想在 awk 中执行此操作,因为我要做这样的事情
awk - 如何知道要做什么
我正在使用 awk,并希望将任意数量的文本文件(参数)发送到我的脚本中,并为每个输入文件“打印一些东西”。
我在这里找到了脚本
并将脚本修改成这个
问题是我应该写什么,nfiles="10"
因为它应该是任意数量的文本参数?
我也不太明白这个脚本,它只执行这个部分
并且只打印出 file1.txt 中的信息。为什么它不执行其余部分,如果我想将所有文件中的第 3 行 ( $3
) 中的所有内容打印到output3
. 谢谢 =)
awk - 如何为不同的字段打印不同颜色的awk结果?
该文件有 3 个字段。我想要例如绿色的前两个字段,白色的第三个字段(NB:黑色背景),所以我尝试了:
一切都是绿色的……</p>
我必须如何进行(如果可能)?
gawk - gawk : 从特殊符号中提取数据
我正在尝试从 strace -T 获取总时间,报告为:
pid 命令 [时间]
(对于每个系统调用)
现在我想总结 [time] 。我正在使用 gawk,并且我知道可以使用 $NF 访问最后一个字段。但是, $NF 报告 [time] (带括号)而不仅仅是时间,我显然无法总结,所以我要问的是如何获得 time 而不是 [time] ?
谢谢
linux - 将 AWK TCP 连接绑定到某个 IP
eth0:1(lighttpd 服务器)已经在使用端口 80,但我想在 eth0 上绑定我的 AWK 进程。
有什么方法可以定义绑定 AWK 进程的 IP?
sed - sed 进行部分替换?
想象一下,我有一个文件具有以下类型的行:
FIXED_DATA1 VARIABLE_DATA FIXED_DATA2
我想更改固定数据并保持可变数据不变。由于各种原因,使用两次sed操作替换固定数据是行不通的。例如,固定字段可能是双引号,并且该行具有包含它们的其他区域,因此编写正则表达式实际上是为了匹配可变数据和固定数据中的模式。
如果我一心想要使用 sed,有没有办法一次更改两个固定数据字段,同时保持可变字段不变?
谢谢。
linux - 使用 awk 获取恶意软件病毒活动所需的帮助
我的服务器遇到问题,因为有时恶意软件会在文件的末尾或开头添加它们的代码。我已在我所知的范围内修复了安全漏洞。我的托管服务提供商已告知现在安全性足够,但我对我网站上的病毒/恶意软件活动变得偏执。我有一个计划,但我不太熟悉 sed 或 awk 或 gawk 等 Linux 编辑器,因此需要您的帮助。我可以使用我的 PHP 知识来做到这一点,但这将非常耗费资源。
由于恶意软件/病毒在文件的开头或结尾添加代码(以便网站不会显示任何错误),请您告诉我如何编写一个递归查看所有 .php 文件的命令(我将使用帮助更改其他类型的文件)在父目录和所有子目录中,并在文件的开头和结尾添加特定标签,例如 XXXXXX_START 和 YYYYYY_END。
然后我需要一个脚本来读取所有 .php 文件并检查代码的第一行是否为 XXXXX_START 和最后一行是否为 YYYYYYY_END,如果发现任何文件不同,则创建报告。
如果发现任何差异,我将设置一个 cron 来检查所有文件并将报告通过电子邮件发送给我。
我知道这不是 100% 万无一失的,因为病毒可能会在注释行之后添加数据,但这是我能想到的最佳选择。
我尝试了以下命令在开始时添加数据 -
但这不是递归的,它仅向父目录文件添加行。
然后我发现这个 - BEGIN 和 END 是特殊的模式。它们不用于匹配输入记录。相反,它们用于为您的 awk 脚本提供启动或清理信息。BEGIN 规则在第一个输入记录被读取之前执行一次。在读取所有输入之后执行一次 END 规则。例如:
但不幸的是,我无法破译任何东西。
非常感谢对上述细节的任何帮助。欢迎任何其他建议。
问候,
尼丁
ruby - 文本文件解析
我有许多充满 sudo 表的文本文档,如下例所示。将表解析为哈希或数组之类的最佳方法是什么?
我是编写自定义算法还是那里有现有的库?
perl - 一个 Perl 或 Gawk 脚本,它返回一个关键字、之前的单词和之后的单词?
我需要一个在 Windows 中运行的简单脚本,它在大型xml 文件中搜索关键字,然后返回它之前的单词、关键字和之后的单词。
例如:“我如何在上下文中提取关键字”我想要:“提取关键字”
我是一个新手,有足够的知识来用关键字返回每一行,以及之前和之后的行,但我很难得到我需要的单个单词。
任何人有任何聪明的想法?