问题标签 [nawk]

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 投票
4 回答
86 浏览

perl - 如何从文件中获取特定字符串在每行中重复多次的行?

我有一个像下面这样的文件(一个示例文件)。

10,鲍勃,电,鲍勃,英雄,,

20,鲍勃,机械,史蒂夫,朱尼,,,yumm

30,鲍勃,instr,鲍勃,森

40,鲍勃,comps,alex,juni,syu,,

50,鲍勃,化学,鲍勃,鲍勃,森尼

我需要字符串 Bob 在每行中多次出现的所有行

此外,如果它不是像上面那样的分隔文件并且如果它是像下面这样的文件,那么我将如何获得特定字符串重复的行(在这种情况下是 Bob

10,鲍勃,elecBob,英雄,,

20,鲍勃,机械,史蒂夫,朱尼|||鲍勃,yumm鲍勃

30,鲍勃·埃斯塔瓦格纳兹|||

我尝试了几个选项,但没有最终确定到底需要什么。

谢谢切坦

0 投票
3 回答
8642 浏览

unix - 是否可以进行 awk 和多文件处理?

我需要处理两个文件内容。我想知道我们是否可以使用单个 nawk 语句来完成它。

文件A内容:

文件B内容:

我想比较$2文件 A 中的(第二个字段)是否与文件 B 中的相反$2。我想知道如何在 nawk 中编写规则以进行多文件处理?我们如何区分A$2和B$2

编辑:我需要将 A 的第一行的 2 美元(即 1)与 B 的最后一行的 2 美元(再次为 1)进行比较。然后将 A 中第 2 行的 2 美元与 B 的 NR-1 行中的 2 美元进行比较。很快.....

0 投票
1 回答
1512 浏览

awk - 外壳脚本 - “nawk”

嗨,我一直在尝试从包含已处理文件大小等详细信息的 final_customer_total.txt 中读取记录。我使用“nawk”命令读取 final_customer_total.txt 以计算处理的总大小,然后将总和存储到另一个文件中。

变量 t= 未处理文件
的大小,例如 let

t=1000

输入文件 :

文件 1 100 文件
2 250文件
3 300

预期输出:

需要处理的总大小:1650

实际输出:

file1 100
file2 250
file3 300
需要处理的总大小:1650

我对 inupt 文件的关注内容也出现在我不想要的输出中!
下面是我试过的命令

当我尝试使用“awk”时,它出现错误
错误:awk 在第 1 行附近跳伞

0 投票
3 回答
1707 浏览

perl - 我想有两个文件之间的区别。想使用 Unix Scripting 找出具体在哪一列发生了差异

我们正在做一个从 Informix 迁移到 Oracle 的数据迁移项目。现在需要比较 Informix 和 oracle 表之间的数据。因此 Informix 中的 Table1 将迁移到 Oracle 中的 Table1。
现在数据从Table1Informix 迁移到Table1Oracle。我将两个表中的数据放入 2 个平面文件中。我想看看 2 个文件中是否有任何数据差异。

File1有 300 列的File2100 万条记录和 300 列的 100 万条记录。File1并且File2是管道分隔的文件。所以差异可以在文件中的任何地方。几乎一整行都可以匹配,但一/两列可能存在差异。所以我想找出差异,记住以上所有事情。差异输出应该列出类似row1 in file1 is not matching with row1 in file2 at column 3的内容以及两个文件中列的值。这两个文件的所有这些差异都需要在控制台上以通俗易懂的格式列出。

我只想用一个例子来解释它,以使其更清楚。

我的第一个文件如下所示:

我的第二个文件如下所示:

所以当我比较两个文件时。col4我们看到和col6中存在差异row2。所以我想要这样的东西:

因此,应该打印第二个文件的上一行。然后应打印预期值。

我知道在使用任何脚本之前需要对文件进行排序。


对于 fge 的脚本,我得到如下输出:

我得到如下输出

我想要整列比较。文件是|分隔文件。

0 投票
1 回答
157 浏览

shell - Shell 脚本 - 如何获取具有通用名称的所有文件,并对这些文件进行排序

因此,我正在学习 shell 脚本的强大功能并喜欢它,但是我很难做到这一点......

我有一堆文件命名为: checkin.10 checkin.11 checkin.12

后面的数字。将始终是 # 并按顺序上升。

我需要在一个目录中找到所有 checkin.* 文件,并返回文件名中具有最高 # 的文件。所以对于上述文件,我需要返回'checkin.12'。我的逻辑是获取所有 checkin.* 文件名,遍历它们并将 # 与存储在变量中的前一个文件的 # 进行比较。如果当前文件的 # 较高,我将变量 # 更新为当前文件 #,如果它较低,则转到下一个。通过这种方式,我能够将 checkin.12 返回为最高 # 并执行我需要对 checkin.12 执行的操作。必须有更好的方法来做到这一点,希望有人能给我展示另一种方法的例子。

0 投票
2 回答
2086 浏览

awk - awk 输出中缺少标头

输入:

这给了我一个标题:

但这不是:

怎么会?

0 投票
1 回答
1814 浏览

unix - 如何使用unix逐行打印特定列?

我有一个输入文件,如下所示。

我想要如下所示的输出:

将系列保留为系列的常见打印值。即相对于结果代码的第一列。即输入文件中的第三(整数)或第四(字符串)列。

例如:数据的第二列有n个系列;取 9184200。该系列有 4 个设置结果代码(空、0、1、2)。每个结果代码的名称在第 4 列中给出。如果 resultcode 为 0,我想打印;即,successfulReleasedByService 然后打印值 11 相对于系列 9184200。

0 投票
1 回答
537 浏览

solaris - 使用 ksh 和 awk/nawk 进行拆分和附加

我只是在这方面度过了最糟糕的时光。这是我的 nawk 声明:

简而言之,这是一个制表符分隔的文件。我想将第一列(12 个字符)分成 3 列,并使用 substring 函数来实现。然后,我想打印没有第一列的其余数据。这是我遇到问题的附加部分。

在当前的迭代中,没有 6 列的行将带有逗号,超过 6 列的行不会被打印。

有什么想法吗?

0 投票
1 回答
1525 浏览

regex - 更改 awk 模式中的正则表达式分隔符

是否可以将默认正则表达式分隔符(斜杠)更改为其他字符?

我尝试使用sed语法来做到这一点,但它没有用。

我正在尝试的正则表达式有很多斜杠。将它们全部转义会使它变得丑陋且不可读。我尝试将 / 更改为 | 但它没有用。

TIA

0 投票
1 回答
603 浏览

awk - 不使用 printf 的精美 awk 输出

这只是出于好奇。

我有一个像这样的制表符分隔文件

通过这样做,我替换了第一列中的“香蕉”,并且输出保持不变:

另一方面,这用空格替换了我用 0 替换了香蕉这个词的行中的制表符:

我如何使用OFS或类似的东西打印出替换的行而不替换标签。我一直在玩,没有进展。记住:没有printf