搜索包含特定关键词的行自动提交 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
keyword1
、keyword2
、keyword3
是你要搜索的词。如果你有多个关键词,可以逐一列出。例如:bashpython script.py error warning critical
这条命令会在
lists
目录中的所有.txt
文件中搜索error
、warning
和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
工具的用途
这个工具主要用于以下几个场景:
日志分析:
用途:从大量日志文件中筛选出包含特定错误消息、警告或关键信息的行。
示例:你可以搜索包含 "ERROR" 或 "WARNING" 的日志条目,帮助定位系统故障或潜在问题。
数据筛选:
用途:从数据文件中提取包含特定关键词的记录。
示例:在调查数据集中筛选出与某些关键词相关的记录或信息。
内容监控:
用途:监控文本文件的内容变化,查找特定的关键词或模式。
示例:监控服务器日志文件中的特定事件或异常情况。
信息检索:
用途:从文档或报告中检索包含特定信息的段落或句子。
示例:从技术文档中提取有关特定技术或概念的信息。
-----------------------⬇️
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")
--------------------------------↑
确保环境准备好:
确保你的系统中安装了 Python(推荐使用 Python 3.6 及以上版本)。
准备目标文本文件:
创建一个名为
lists
的目录,并将所有要处理的.txt
文件放在这个目录中。示例目录结构:
lists/ file1.txt file2.txt
运行脚本:
使用命令行运行脚本,并将包含要搜索的关键词作为参数传递给它。
运行命令的格式如下:
bashpython script.py word1 word2 word3
这里,
script.py
是你的脚本文件的名称,word1 word2 word3
是你要搜索的关键词,多个关键词之间用空格分隔。查看结果:
扫描完成后,
lists
目录中会生成一个result.txt
文件,文件中包含了所有符合条件的行。你还会在控制台中看到以下信息:
Results saved to 'result.txt'. For support or inquiries, contact me on Telegram: @kimseoau
示例
假设你的 lists
目录包含如下文件:
lists/ file1.txt file2.txt
并且 file1.txt
和 file2.txt
包含一些文本内容。你可以通过以下命令运行脚本来搜索包含关键词 hello
和 world
的行:
bashpython script.py hello world
脚本会从 lists
目录中的所有 .txt
文件中搜索包含 hello
或 world
的行,并将这些行写入 lists/result.txt
文件中。
脚本改进的总结
增加了联系方式:在脚本开始部分添加了你的 Telegram 联系方式
@kimseoau
。改进了文件处理:确保读取和写入文件时使用 UTF-8 编码。
不区分大小写:在搜索目标关键词时不区分大小写。
简化了代码:直接将符合条件的行写入结果文件,避免使用中间的
result_lines
列表。
请勿非法使用,请使用自己的网站进行测试所用。使用非法与本站无关。