gpt4 book ai didi

bash - 使用 awk 命令删除带有 CRLF 的重复文件

转载 作者:行者123 更新时间:2023-11-29 09:37:46 24 4
gpt4 key购买 nike

亲们,我一直在使用 awk 命令使用 awk 删除重复项。问题是我面临的是因为每行末尾的 CRLF。 awk 中有没有一种方法可以从比较中丢弃 CRLF?

我使用的命令:awk '!seen[$0]++'

记录

HelloworldCRLF
how are youCRLF
Helloworld

第一条和第三条记录相同,我原以为它会被删除。我想因为最后一行没有 CRLF,所以它保留在输出中。我尝试在记录的末尾添加 CRLF 以确保 awk 命令将其删除,但确实如此,但有时最后一条记录确实有 CRLF,我最终得到一个额外的空行(因为我添加了 CRLF)。有没有办法解决这种情况?

对了,这个文件是在windows下生成的。

最佳答案

在进行比较之前替换 \r 的任何实例。

awk '{gsub(/\r/,"")}; !seen[$0]++'

关于bash - 使用 awk 命令删除带有 CRLF 的重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38036568/

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