shell - 比较两个文本文件并计算出现次数

标签 shell scripting ssid

我正在尝试写一篇关于使用通用接入点名称的危险的博客文章。

因此,我进行了一些操作来获取接入点名称列表,并从 Renderlab 下载了 1000 个最常见接入点名称的列表(存在彩虹表)。

但是我如何比较这两个文本文件,以查看我收集的接入点名称中有多少容易受到彩虹表的攻击?

文本文件的构建如下:

收集的.txt:

linksys
internet
hotspot

最常见的接入点名称称为 SSID.txt:

default
NETGEAR
Wireless
WLAN
Belkin54g

因此脚本应该对行进行排序,比较它们并显示在 SSID.txt 中找到来自collected.txt 的行的次数..

这有什么意义吗?任何帮助将不胜感激:)

最佳答案

如果您不介意使用 python 脚本:

file1=open('collected.txt', 'r')            # open file 1 for reading
with open('SSID.txt', 'r') as content_file: # ready file 2
    SSID = content_file.read()

found={}                                    # summary of found names
for line in file1:
    if line in SSID:
        if line not in found:
            found[line]=1
        else:
            found[line]+=1
for i in found:
    print found[i], i                       # print out list and no. of occurencies

...它可以在包含这些文件的目录中运行 -collected.txt 和 SSID.txt -它将返回一个如下所示的列表:

5 NETGEAR
3 default
(...)

脚本逐行读取文件 1 并将其与整个文件 2 进行比较。可以轻松修改它以从命令提示符获取文件名。

关于shell - 比较两个文本文件并计算出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22686690/

相关文章:

java - ksh 命令用引号替换到数组中

iPhone : how to auto connect to a known wifi SSID?

macos - 如何在mac中设置默认WIFI网络?

shell - 如何检查 Linux shell 脚本是否由 cronjob 执行?

linux - 临时清除tty

c# - 关闭 IActiveScript 引擎抛出 E_UNEXPECTED 异常

ios - String 数组的一个元素不会打印到 Swift4 中的 UITextField 中。转换为任何或字符串

java - 在 java 中使用 linux grep 命令时出错

linux - bash:语法错误:需要操作数(错误标记为 "-")

linux - 对 grep 结果调用 sed - Linux shell 脚本/文本处理