使用NotePad++快速实现字符串统计/抽取,以及使用Notepad进行文本去重

article/2025/6/4 0:43:58

软件测试技术交流群 :

1、QQ交流群:群号 429183023

2、添加JeongJinWin,或者扫描头像二维码

 

背景:日常工作中,可能在Windows下需要对一些文本进行解析,抽取出某种类型的字段、或者特定字符串,在Linux下可能大家都是使用awk命令去解析了,在windows下我们可以借助强大的文本处理器NotePad++来快速的处理。

下面我以一个Nginx配置文件为案例,来进行介绍

案例需求:存在一个Nginx的配置文件 nginx.conf(文件内容附在末尾,大家直接拉倒文章末尾去找就行),需要分析出这个配置文件都监听了那些ip/域名;(注:这里只是问了讲一个例子,大家别关注Nginx配置文件的合法性,为了方便讲解,存在重复的监听ip端口

第一步:抽取出符合条件的字符串

      1、使用Find,找出匹配的字符串。由于listen的ip/域名不一致,所以想要find到所有匹配的数据,就要使用正则匹配。

           正则表达式:(listen.*;)

     2、匹配之后,将匹配到的字符串全部抽取成单独的一行,并且标记

           替换为:\n$1\n

      3、再使用NotePad++的标记清除功能,删除掉未匹配到的字符串;

           搜索 → 书签 → 删除未标记行。操作之后得到的结果,就是我们需要单独解析出来的字符串了。

第二步:对结果进行去重

      参考文章:https://blog.csdn.net/tclwh123/article/details/83421329 

      方法一:使用 TextFx 插件,安装 TextFx插件,然后选中需要去重的行数据,使用 "TextFx"-"TextFx Tools"-"Sort lines case sensitive/insensitive (at column)",即可完成去重。但是目前新版本的NotePad 插件库已经搜不到 TextFx 插件了,自行安装的话比较麻烦。有兴趣的可以自己去找找 TextFx 插件资源,手动安装试试;

      方法二:使用正则表达式进行行去重

          1、首先将第一步中生成的结果进行排序(必要的步骤);

          2、然后使用正则表达式 ^(.*?)$\s+?^(?=.*^\1$) 进行全局替换

 

案例文件Nginx.conf

server {listen 172.16.179.131:10086;location / {proxy_pass http://172.16.179.130:10087/;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}server {listen 172.16.179.131:10087;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10086;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10087;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10087;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10087;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10085;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10085;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10085;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}server {listen 172.16.179.131:10084;root /var/www/html/app1/;access_log /var/log/nginx/app1/access.log proxy_format;real_ip_header X-Forwarded-For;set_real_ip_from 172.16.0.0/16;real_ip_recursive on;location / {root /var/www/html/nihao/;try_files $uri $uri/ =404;}
}

 


http://chatgpt.dhexx.cn/article/cNRMX6IL.shtml

相关文章

在线文本去重统计工具

在线文本去重统计工具 在线文本去重统计工具 本工具可以统计文本列表的重复项以及统计每个重复项出现的次数。 本工具可以统计文本列表的重复项以及统计每个重复项出现的次数。 本工具可以统计文本列表的重复项以及统计每个重复项出现的次数。 https://tooltt.com/unique/

论__大量文本内容去重的方式

论__大量文本内容去重的方式 本文由 Luzhuo 编写,请尊重个人劳动成果,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/50640179 微博: http://weibo.com/u/2524456400 最近拿到大量的文本文件,文件的大小少个几十M,多则几十G,这么多且大的文本想必有很…

[039]文本去重、过滤——文本指纹

1. 文本指纹介绍 互联网网页存在大量的重复内容网页,无论对于搜索引擎的网页去重和过滤、新闻小说等内容网站的内容反盗版和追踪、还是社交媒体等文本去重和聚类,都需要对网页或者文本进行去重和过滤。 最简单的文本相似性计算方法可以利用空间向量模型&…

TXT文本去重 TXT去重 TXT文本合并去重工具 —— 20亿行130GB的数据只需60分钟

例如:多个TXT大数据文本文件合并以及文本行去重 130GB20亿行数据60分钟即可完成去重操作 测试数据大小:20亿行130GB的数据只需60分钟 平均去重速度:2000000000(行) 3600(秒) ‬ 555555(行/秒)≈55万行/秒 作者QQ:24759362 以…

文本去重:sim哈希算法

站在巨人_啊哈、zstu_翊、lengye7、黑夜路人的肩膀上~ 分析数据前,我们需要对数据去重,如何选择和设计文本的去重算法? 常见的去重算法有:余弦夹角算法、欧式距离、Jaccard相似度、最长公共子串、编辑距离等。这些算法是先将两篇文…

文本去重的技术方案讨论(一)

转发请注明出处:https://blog.csdn.net/HHTNAN 对于文本去重来说,我个人处理上会从数据量、文本特征、文本长度(短文本、长文本)几个方向考虑。 常见的去重任务,如网页去重,帖子去重,评论去重等…

git 生成公钥 及使用笔记

1.输入 ssh-keygen -t rsa -C 2101419675qq.com 2.一路回车, 提示输入文件名和密码都直接回车 3.公钥就生成了,路径为 4.在GitHub或gittree中直接将id_rsa.pub中的内的内容加在sskey中就行 下面是gittree 5.其它 mkdir test cd test git init touch …

git生成公钥私钥(windows)

配置用户名和邮箱 git config --global user.name "v_sunhaojie" $ git config --global user.email "v_sunhaojiebaidu.com" 会在当前用户的目录下(C:\Users\v_sunhaojie)生成 .gitconfig文件 [user] name v_sunhaojie email v_sunhaoji…

git生成公钥的步骤

git生成公钥的步骤 1. 设置Git账户2.生成命令 1. 设置Git账户 命令如下 git config user.name (查看git账户) git config user.email (查看git邮箱) git config --global user.name “账户名” (设置全局账户名和邮箱…

【Git】ssh公钥如何生成

1. 在C盘用户目录文件下找到.ssh文件(若之前未生成.ssh则进行第2步) 里面保存的是之前生成的文件,将.ssh文件夹删除。 2. 右键,点击git bash here,进入git界面 3. 输入ssh-keygen -t rsa -C *.com ,连点三…

git配置公钥

一、 生成.ssh文件 在桌面打开Git Bash,输入以下命令: ssh-keygen -t rsa -C "你的邮箱xxx.com"一直按回车,出现以下界面表示生成ssh文件成功 二、 找到id_rsa.pub文件 到C盘下找到.ssh文件夹:C:\Users\86187.ssh&am…

使用Git工具生成公钥与私钥

生成密钥对 keytool -genkeypair -alias shopping -keyalg RSA -keypass shopping -keystore shopping.jks -validity 365 -storepass shopping 解析私钥 keytool -list -rfc --keystore shopping.jks | openssl x509 -inform pem -pubkey 输入口令即可

超简单git生成ssh公钥(ssh-keygen)

首先在桌面右键,点击Git bash Here 在命令窗口输入 ssh-keygen -t rsa -C "你的邮箱地址" 回车 这时让你输入密码,这个密码会在你提交项目时使用 然后直接三个回车 到达最后 你会发现桌面上会有一个.pub的文件,右键用记事本打开…

【技术分享】Mac环境下git生成SSH公钥

文章目录 1.查看本机的ssh公钥2.生成ssh公钥 1.查看本机的ssh公钥 ①终端进入~/.ssh目录 cd ~/.ssh②使用ls命令查看,如果有id_rsa.pub文件说明已经生成了公钥。 ls③使用cat命令查看公钥具体内容,如下图所示 cat id_rsa.pub2.生成ssh公钥 注意XXXX…

git ssh key的配置,git生成ssh公钥

git clone支持https和git(即ssh)两种方式下载源码。 使用git方式下载时,如果没有配置过ssh key,则会有如下错误提示: 1.首先配置用户名,邮箱。 git config --global user.name "这里换上你的用户名…

【Git】Gitee生成/添加SSH公钥

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。 按如下命令来生成 sshkey: ssh-keygen -t ed25519 -C "xxxxxxxxxx.com" 注意:这里的 xxxxxxxxxx.com 只是生成的 sshkey 的名称…

git生成ssh公钥

学习一下,感谢! gitee 步骤: 1.打开终端(git)进入.ssh目录 cd ~/.ssh 如果.ssh文件夹不存在,执行指令自动创建 mkdir ~/.ssh 2.生成RSA密钥对并进行命名 ssh-keygen -t rsa -C "你的邮箱xxx…

如何生成git公钥?

1、 打开git bash。 2、 执行ssh-keygen.exe命令。 此时到电脑的C–>users–>用户名文件夹–>.ssh文件夹下可以找到公有密钥的文件: 3、 执行cat ~/.ssh/id_rsa.pub,输出结果即为公钥。 注意:输出的公钥结果可能需要拷贝出…

GIT生成SSH公钥图文教程

GIT介绍 GIT是一种分布式版本控制系统,用于追踪文件的变化和协作开发。本文将详细介绍GIT的基本架构、工作流程和常用命令,并对其优势和应用场景进行分析。 1. GIT的基本架构 GIT的基本架构由三个主要组件组成:工作区(Working …

Git生成/添加SSH公钥

Git生成SSH密钥 git config --global user.name "kenny" 配置用户名 git config --global user.email "602118471qq.com" 配置邮箱 此时, 会在C:\Users\Administrator目录下生成.gitconfig配置文件: 请勿删除! ssh-key…