搜索包含特定关键词的行自动提交 shell 轻松对自己的网站测试,有需要写工具的伙伴可以联系我,目前的工具是python工具,用于文本文件中查找包含特定关键词的行。找到的行会被写入到一个新的文本文件中。这个工具可以用于各种文本分析任务,比如日志文件分析、数据筛选等。

使用方法


1. 准备工作

  • 确保你有 Python 环境:这个脚本需要 Python 3.6 或更高版本。你可以从 Python 官方网站 下载并安装 Python。

  • 创建一个包含文本文件的目录:在你的计算机上创建一个名为 lists 的文件夹,并将所有待分析的 .txt 文件放入该文件夹中。示例目录结构如下:

    lists/
        file1.txt
        file2.txt
        file3.txt

2. 准备文本文件

  • 在 lists 目录中放置你的文本文件:这些文本文件应该包含你想要搜索的内容。每个文件可以包含多行文本。

3. 运行脚本

  • 打开命令行终端(Windows 中是 CMD 或 PowerShell,macOS 和 Linux 中是 Terminal)。

  • 导航到脚本所在的目录。假设你的脚本文件名是 script.py,你可以使用 cd 命令切换到脚本所在的目录:

    bashcd /path/to/your/script
  • 运行脚本,并提供要搜索的关键词作为参数。关键词之间用空格分隔:

    bashpython script.py keyword1 keyword2 keyword3
    • keyword1keyword2keyword3 是你要搜索的词。如果你有多个关键词,可以逐一列出。例如:

      bashpython script.py error warning critical
    • 这条命令会在 lists 目录中的所有 .txt 文件中搜索 errorwarning 和 critical 这三个关键词。

4. 查看结果

  • 查看生成的结果文件:脚本运行完成后,会在 lists 目录中生成一个名为 result.txt 的文件。这个文件包含了所有在目标文本文件中找到的包含指定关键词的行。

  • 检查结果文件

    plaintextlists/result.txt

    这个文件将包含所有符合搜索条件的行,你可以用文本编辑器打开它查看详细内容。

5. 获取帮助

  • 脚本运行时提供了帮助信息:如果没有提供关键词,脚本会显示用法说明,并退出:

    plaintextUsage: python script.py word1 word2 word3
  • 对于进一步的帮助或询问,你可以通过 Telegram 联系我:

    plaintextFor support or inquiries, contact me on Telegram: @kimseoau

工具的用途

这个工具主要用于以下几个场景:

  1. 日志分析

    • 用途:从大量日志文件中筛选出包含特定错误消息、警告或关键信息的行。

    • 示例:你可以搜索包含 "ERROR" 或 "WARNING" 的日志条目,帮助定位系统故障或潜在问题。

  2. 数据筛选

    • 用途:从数据文件中提取包含特定关键词的记录。

    • 示例:在调查数据集中筛选出与某些关键词相关的记录或信息。

  3. 内容监控

    • 用途:监控文本文件的内容变化,查找特定的关键词或模式。

    • 示例:监控服务器日志文件中的特定事件或异常情况。

  4. 信息检索

    • 用途:从文档或报告中检索包含特定信息的段落或句子。

    • 示例:从技术文档中提取有关特定技术或概念的信息。





-----------------------⬇️



import os

import sys


# 联系方式

# Telegram: @kimseoau


# Directory containing the text files

folder_path = "lists"


# Check if the folder exists

if not os.path.exists(folder_path):

    print("The specified folder does not exist.")

    sys.exit(1)


# Check if there are enough command-line arguments

if len(sys.argv) < 2:

    print("Usage: python script.py word1 word2 word3")

    sys.exit(1)


# Words to search for (command-line arguments)

target_words = [word.lower() for word in sys.argv[1:]]


# Path for the result file

result_file_path = os.path.join(folder_path, "result.txt")


# Open the result file for writing

with open(result_file_path, 'w', encoding='utf-8') as result_file:

    # Iterate through all text files in the folder

    for filename in os.listdir(folder_path):

        if filename.endswith(".txt"):

            file_path = os.path.join(folder_path, filename)

            with open(file_path, 'r', encoding='utf-8') as file:

                # Check each line for the target words

                for line in file:

                    if any(word in line.lower() for word in target_words):

                        result_file.write(line)


print("Results saved to 'result.txt'.")

print("For support or inquiries, contact me on Telegram: @kimseoau")



--------------------------------↑



  1. 确保环境准备好

    • 确保你的系统中安装了 Python(推荐使用 Python 3.6 及以上版本)。

  2. 准备目标文本文件

    • 创建一个名为 lists 的目录,并将所有要处理的 .txt 文件放在这个目录中。

    • 示例目录结构:

      lists/
          file1.txt
          file2.txt
  3. 运行脚本

    • 使用命令行运行脚本,并将包含要搜索的关键词作为参数传递给它。

    • 运行命令的格式如下:

      bashpython script.py word1 word2 word3
    • 这里,script.py 是你的脚本文件的名称,word1 word2 word3 是你要搜索的关键词,多个关键词之间用空格分隔。

  4. 查看结果

    • 扫描完成后,lists 目录中会生成一个 result.txt 文件,文件中包含了所有符合条件的行。

    • 你还会在控制台中看到以下信息:

      Results saved to 'result.txt'.
      For support or inquiries, contact me on Telegram: @kimseoau

示例

假设你的 lists 目录包含如下文件:

lists/
    file1.txt
    file2.txt

并且 file1.txtfile2.txt 包含一些文本内容。你可以通过以下命令运行脚本来搜索包含关键词 helloworld 的行:

bashpython script.py hello world

脚本会从 lists 目录中的所有 .txt 文件中搜索包含 helloworld 的行,并将这些行写入 lists/result.txt 文件中。

脚本改进的总结

  • 增加了联系方式:在脚本开始部分添加了你的 Telegram 联系方式 @kimseoau

  • 改进了文件处理:确保读取和写入文件时使用 UTF-8 编码。

  • 不区分大小写:在搜索目标关键词时不区分大小写。

  • 简化了代码:直接将符合条件的行写入结果文件,避免使用中间的 result_lines 列表。



请勿非法使用,请使用自己的网站进行测试所用。使用非法与本站无关。