#uniq #cli #io

app anewer

anewer 将标准输入中的行追加到文件中,如果这些行在该文件中不存在。您还可以在不使用 sort 的情况下将其用作 uniq。

3 个版本

0.1.6 2021年9月13日
0.1.5 2021年2月25日
0.1.4 2021年2月25日
0.1.2 2020年11月11日

#2115命令行工具

每月 26 下载

自定义许可证

18KB
107

anewer crates.io @ysfr

anewer 将标准输入中的行追加到文件中,如果这些行在该文件中不存在。您还可以在不使用 sort 的情况下将其用作 uniq。这是 tomnomnom/anew 的 Rust 版本。它利用 tkaitchuck/aHash 将运行时间缩短到 ~50%。由于只有散列后的行被保留在内存中,因此它减少了长行输入的内存使用量。这与 huniq 的工作方式类似。

用法

$ anewer -h
USAGE:
    anewer [FLAGS] [filename]

FLAGS:
    -n, --dry-run    Dry run, will leave the file as it is
    -h, --help       Prints help information
    -v, --invert     Invert the sense of matching
    -q, --quiet      Quiet, won't print to stdout
    -V, --version    Prints version information

ARGS:
    <filename>

安装

cargo install anewer

将 newthings.txt 中的未知元素添加到 things.txt 中

$ cat things.txt
Zero
One
Two

$ cat newthings.txt
One
Two
Three
Four

$ cat newthings.txt | anewer things.txt
Three
Four

$ cat things.txt
Zero
One
Two
Three
Four

或作为不带 sort 的简单 uniq 使用

$ cat list.txt
One
One
Two
Two
Three
Four
Three
Four

$ cat list.txt | anewer
One
Two
Three
Four

许可证

GPLv3+

依赖项

~3.5MB
~62K SLoC