gpt4 book ai didi

unix - Awk 和多文件处理可能吗?

转载 作者:行者123 更新时间:2023-12-04 17:03:40 40 4
gpt4 key购买 nike

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

文件A内容:

AAAAAAAAAAAA  1
BBBBBBBBBBBB 2
CCCCCCCCCCCC 3

文件B内容:
XXXXXXXXXXX  3
YYYYYYYYYYY 2
ZZZZZZZZZZZ 1

我想比较一下 $2文件 A 中的(第二个字段)是 $2 的反面在文件 B 中。
我想知道如何在 nawk 中编写规则以进行多文件处理?
我们如何区分A $2来自 B 的 $2
编辑:我需要将 A 的第一行的 2 美元(即 1)与 B 的最后一行的 2 美元(又是 1)进行比较。然后将 A 中第 2 行的 2 美元与 B 的 NR-1 行中的 2 美元进行比较。很快.....

最佳答案

您可以制作 awk串行处理文件,但你不能轻易让它并行处理两个文件。小心使用 getline 或许可以达到这样的效果。但“小心”是有效术语。

我认为在这种情况下,对于简单的两列文件,我倾向于使用:

paste "File A" "File B" |
awk '{ process fields $1, $2 from File A and fields $3, $4 from file B }'

您需要确保这两个文件的顺序正确,等等。

如果您的输入更复杂,那么这可能效果不佳,尽管您可以使用 paste -d'|' ... 选择将数据与两个文件分开的字符。使用管道分隔两条记录,和 awk -F'|' '{ ... }'阅读 $1作为来自文件 A 和 $2 的信息作为来自文件 B 的信息。

关于unix - Awk 和多文件处理可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500619/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com