Unix命令查找字符串集交集或异常值?

标签 unix grep set

是否有与

相当的 UNIX 命令
sort | uniq

查找字符串集交集或“异常值”。

示例应用程序:我有一个 html 模板列表,其中一些模板内有 {% load i18n %} 字符串,其他模板则没有。我想知道哪些文件没有。

编辑: grep -L 解决了上述问题。

这个怎么样:

文件1:

mom
dad
bob

文件2:

dad

%与文件1文件2相交

dad

%left-unique file1 file2

mom
bob

最佳答案

看起来 grep -L 解决了发布者的真正问题,但对于提出的实际问题,找到两组字符串的交集,您可能需要研究“comm”命令。例如,如果 file1file2 各自包含一个排序的单词列表,每行一个单词,则

$ comm -12 file1 file2

将产生两个文件共有的单词。更一般地说,给定排序的输入文件 file1file2,命令

$ comm file1 file2

产生三列输出

  1. 仅在 file1 中包含行
  2. 仅在 file2 中包含行
  3. 文件 1 和文件 2 中的行

您可以使用 -N 选项隐藏输出中的 N 列。因此,上面的命令 comm -12 file1 file2 会抑制第 1 列和第 2 列,只留下两个文件共有的单词。

关于Unix命令查找字符串集交集或异常值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016244/

相关文章:

c - select() 返回无效参数

linux - 从文件中获取信息shell脚本linux grep命令

java - 哈希集对象

shell - 为什么 mktime 在 Awk 中返回 -1?

c - 无法使用 write() 写入标准输出

linux - 如何在 Linux 中获取两个单词之间的行数

grep -E 中的正则表达式未按预期工作

android - 以编程方式设置Android设备的锁屏壁纸

struct - Go 中的一组结构

unix - 如何删除包含用双引号括起来的字符串的单元格值的 CSV 文件的一列/多列