shell脚本实现字典合并去重

一、前言

对于密码破解软件重要的就是字典了。好的字典可以让破解工作事半功倍。但是通常我们需要用多个字典来进行破解,其中难免有重复的内容,这样无疑会给破解软件带来不必要的重复计算,增大破解时间

通过shell配合命令行工具可以实现字典的合并去重。本文使用shell脚本实现对多个字典文件的合并与去重。以提高字典的质量

二、实现过程

2.1 检测文件输入

在shell中,'$#'代表传入脚本的参数个数,通过对脚本参数个数判断是否有文件作为参数输入。并且判断文件是否存在。'${@:$i:1}'表示脚本第i个参数的名称也就是输入的第i个文件。

if [ $# -lt 1 ]
    then
    echo "请输入要排序的文件"
    exit
fi
for ((i=1;i<$#+1;i++))
    do
    if [ ! =f ${@:$i:1} ]
        then
        echo "错误!${@:$i:1}文件不存在"
        exit
    fi
done

2.2 合并字典文件

使用for循环和cat命令,将所有文件依次合并成一个文件out.txt

for ((i=1;i<$#+1;i++))
    do
    cat ${@:$i:1} >>out.txt
done

2.3 排序和去重

由于去重命令只支持经过sort排序后的文件,因此需要将out.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百口可乐__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值