gpt4 book ai didi

linux - 文件处理排序和去重

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:57 26 4
gpt4 key购买 nike

我是 Linux 环境的新手。我有以下格式列出的金门生成文件,使用 BELL 字符 ^G 作为分隔符。

I^G2017-06-27 21:57:57.000000^G2^Gtest@gmail.com
I^G2017-06-27 22:00:04.000000^G2^Gtest@gmail.com
I^G2017-06-27 22:00:59.000000^G2^Gtest@gmail.com
K^G2017-06-27 23:00:09.000000^G2^Gtest123@gmail.com

前两列用于内部表示以帮助排序,第三列是唯一键。这是基于第二列(时间戳)和第三列...我想对记录进行排序并将最新的唯一记录写入其他文件,如下所示。

2^Gtest123@gmail.com

你能帮我解决这个问题吗?谢谢

最佳答案

使用sortcuttail 来完成:

sort -u -k2,2 -t^G input.txt | cut -d^G -f3,4 | tail -n1 > /tmp/output.txt

首先,我们告诉 sort 只选择唯一的行(-u),对第二列进行排序(-k2,2),使用响铃字符作为分隔符(-t^G,键入ctrl+V ctrl+G 来键入字符),并给它输入文件。然后,我们使用相同的分隔符 (-d^G) 将输出通过管道传输到 cut,并且只保留第 3 和第 4 列 (-f3,4)。然后我们将其通过管道传输到 tail -n1,仅输出最后一行,最后将其重定向到您的输出文件。

请注意,如果您将 ^G 打印到 stdout,它不会显示任何内容,而是让您的计算机发出哔哔声。

关于linux - 文件处理排序和去重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44792796/

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