我需要从文本文件中删除重复的行,这在 Linux 中使用很简单
cat file.txt |sort | uniq
Run Code Online (Sandbox Code Playgroud)
当 file.txt 包含
aaa
bbb
aaa
ccc
Run Code Online (Sandbox Code Playgroud)
它会输出
aaa
bbb
ccc
Run Code Online (Sandbox Code Playgroud)
有 Windows 等价物吗?或者如何以 Windows 方式执行此操作?
如何删除每一行中的重复项,例如这里?
1 1 1 2 1 2 3
5 5 4 1 2 3 3
Run Code Online (Sandbox Code Playgroud)
我想得到这个输出:
1 2 3
5 4 1 2 3
Run Code Online (Sandbox Code Playgroud)
有很多行(100,000),在每一行中我都想要唯一的值。Perl 可能是最快的,但我怎样才能在 Perl 或 Bash 中做到呢?
如何使用任何 linux 程序链接 sed、awk 或任何其他程序从文本文件中删除非重复行?
例子:
abc
bbc
abc
bbc
ccc
bbc
Run Code Online (Sandbox Code Playgroud)
结果:
abc
bbc
abc
bbc
bbc
Run Code Online (Sandbox Code Playgroud)
第二个列表已删除 ccc,因为它没有重复的行。
是否也可以删除只有 2 个重复行的非重复 AND 行,并留下那些有超过 2 个重复行的行?
这是测试文件的内容:
this this
this that
is that
a that
MAP that
map that
Run Code Online (Sandbox Code Playgroud)
当我这样做时uniq testCase -f1
,结果是:
this this
this that
Run Code Online (Sandbox Code Playgroud)
这是合理的,但如果我运行: testCase -f2
,我会得到:
this this
Run Code Online (Sandbox Code Playgroud)
为什么会这样?谁能告诉我 -f 的默认分隔符是什么,它不在 man 中。