#!/usr/bin/env python

# Copyright (c) 2006-2024 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission

# Removes duplicate entries in wordlist-like files

from __future__ import print_function  # 确保使用 Python 3 的 print() 函数

import sys  # 导入系统模块，用于处理命令行参数和文件操作

if __name__ == "__main__":
    # 检查程序是否接收到至少一个命令行参数
    if len(sys.argv) > 1:
        items = list()  # 初始化一个列表用于存储唯一条目

        # 打开指定的文件进行读取
        with open(sys.argv[1], 'r') as f:
            for item in f:  # 遍历文件中的每一行
                item = item.strip()  # 去掉行首尾的空白字符

                try:
                    str.encode(item)  # 尝试对字符串编码，确保内容是有效的字符串
                    if item in items:  # 检查条目是否已经在列表中
                        if item:  # 确保条目不为空
                            print(item)  # 打印重复的条目
                    else:
                        items.append(item)  # 如果条目不在列表中，则添加到列表
                except:
                    pass  # 捕获异常，继续处理下一个条目

        # 以写入模式打开同一个文件，准备写入去重后的唯一条目
        with open(sys.argv[1], 'w+') as f:
            f.writelines("\n".join(items))  # 将唯一条目写回文件，以换行符分隔