当前位置: 首页 > news >正文

字符串检索 各种系统

目录

python检索:

windows cmd检索字符串:

返回文件名和包含字符串的行:

linux系统:


python检索:

# !/usr/bin/env python3 # -*- coding: utf-8 -*- import os import re import argparse from pathlib import Path def search_files(root_dir, search_pattern, extensions, exclude_dirs, show_filename_only=False): """搜索文件内容""" regex = re.compile(search_pattern, re.IGNORECASE) results = [] for root, dirs, files in os.walk(root_dir): # 排除目录 if exclude_dirs: dirs[:] = [d for d in dirs if d not in exclude_dirs] for file in files: if not any(file.endswith(ext) for ext in extensions): continue file_path = os.path.join(root, file) # 尝试多种编码 for encoding in ['utf-8', 'utf-16-le', 'utf-16-be', 'gbk', 'gb2312']: try: with open(file_path, 'r', encoding=encoding, errors='ignore') as f: lines = f.readlines() matches = [] for line_num, line in enumerate(lines, 1): if regex.search(line): matches.append((line_num, line.rstrip())) if matches: results.append((file_path, matches)) if show_filename_only: print(file_path) else: print(f"\n📄 {file_path}") for line_num, line in matches: # 高亮匹配部分(可选) highlighted = regex.sub(lambda m: f"\033[1;31m{m.group(0)}\033[0m", line) print(f" {line_num}: {highlighted}") break except: continue return results def main(): parser = argparse.ArgumentParser(description='在代码文件中搜索文本') parser.add_argument('--pattern',default='修复', help='搜索关键词(支持正则)') parser.add_argument('-d', '--dir', default=r'E:\pro_math\BambuStudio', help='搜索目录(默认当前目录)') parser.add_argument('-e', '--ext', nargs='+', default=['.cpp', '.h', '.c', '.hpp', '.cc', '.po', '.json'], help='文件扩展名(如 .cpp .h)') parser.add_argument('-x', '--exclude', nargs='+', default=['deps', 'build', '.git', '__pycache__'], help='排除的目录') parser.add_argument('-l', '--files-only', action='store_true', help='只显示文件名,不显示匹配行') args = parser.parse_args() print(f"🔍 搜索: {args.pattern}") print(f"📁 目录: {args.dir}") print(f"📋 扩展名: {', '.join(args.ext)}") print(f"🚫 排除: {', '.join(args.exclude)}") print("=" * 80) results = search_files(args.dir, args.pattern, args.ext, args.exclude, args.files_only) print(f"\n✅ 找到 {len(results)} 个匹配文件") if __name__ == "__main__": main()

windows cmd检索字符串:

返回文件名

findstr /s /i /m "Non-manifold" *.cpp

返回文件名和包含字符串的行:

findstr /s /i /n "Netfabb" *.cpp

字符串检索

linux系统:

grep -ril "Non-manifold" --include="*.cpp"
http://www.jsqmd.com/news/1334596/

相关文章:

  • iOS审核被拒4.3,这就是你混淆后的工程
  • 5分钟掌握Windows终极优化工具:WinUtil完全指南
  • 2026年8月 项目陪跑服务商选型参考|电商客服热门服务商整理 - 互联网科技品牌测评
  • 3步搞定国家中小学智慧教育平台电子课本下载:终极免费工具完整指南
  • 戴森球计划工厂蓝图:3000+高效布局的完整使用指南
  • 2026年逛吃茅箭区,十堰最好吃的重庆火锅实测3家
  • 2026年河北水处理磁粉选购指南:淼鑫矿产品等优质企业实力盘点 - 小范同学a
  • 在Windows上体验苹果品质:PingFangSC苹方字体完整使用指南
  • 高级Linux无线网卡驱动架构设计:专业级Realtek RTL8822BU内核模块性能调优指南
  • C#.NET贪吃蛇游戏开发实战:WPF架构、游戏循环与源码解析
  • 如何用ExtensionPay.js实现浏览器扩展订阅制:开发者必看指南
  • 大模型运行ollama、vllm、huggingface、modelscope
  • w2v-xls-r-uk性能测评:3.64% CER如何实现乌克兰语精准转写?
  • 2026年8月湖南省新化县专业靠谱质量好的全屋定制公司推荐新化铭品装饰:专业能力与成功案例综合评估 - 专业优选推荐榜
  • 如何使用CodeFlow快速可视化GitHub项目结构?5分钟上手教程
  • AI驱动网络钓鱼攻击演进:OAuth劫持与深度伪造防御策略
  • 从视频下载到智能学习:BiliTools如何重新定义B站内容消费体验
  • PoeCharm技术解析:流放之路BD构建的数据驱动方法
  • ExtensionPay.js终极指南:如何在1小时内为浏览器扩展添加支付功能
  • 从零搭建专属社区:Xiuno BBS 4.0 轻量级论坛的创意之旅
  • 3分钟搞定Codex技能安装:告别繁琐配置,一键提升AI生产力
  • springbootITS 信息平台的设计与实现
  • Falcon-TST_Large:革新性时间序列基础模型,融合MoE架构与多补丁分词器的终极指南
  • 从源码到实践:深入理解angular-chosen-localytics的实现原理与最佳实践
  • AI写产品评测实战手册(附17个真实对比测试数据+Prompt工程黄金清单)
  • YOLOv5矩形训练实战:高效处理长方形图像的目标检测优化策略
  • 如何自定义WysiHat工具栏?打造个性化编辑器界面的完整指南
  • ComfyUI-LTXVideo终极指南:如何在ComfyUI中快速搭建专业级AI视频生成环境
  • 长沙创艺怎么样?29年深耕,全国超120家直营门店——创艺装饰凭什么成为长沙业主的放心之选 - GrowUME
  • dmol-book框架选择深度解析:Jax vs PyTorch哪个更适合你的分子模型?