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