网上找了一些 IP 地址段,想自行把它们添加到 clash 中,请教如何使用 vscode 或者 editplus 之类的编辑软件通过正则批量设置?

337 天前
 binghe

网上找了一些 IP 地址段,想自行把它们添加到 clash 中,请教如何使用 vscode 或者 editplus 之类的编辑软件通过正则批量设置? 将 ip 前后加上指定的格式。 例如:IP-CIDR,129.146.48.191/8,no-resolve

部分 IP 段如下

129.146.102.194
129.146.46.164
129.146.48.191
129.151.141.128
129.151.192.107
129.151.192.40
129.151.192.53
129.151.193.64
129.151.193.94
129.151.194.103
129.151.194.145
129.151.194.170
129.151.194.57
129.151.194.69
129.151.195.178
129.151.195.187
...
810 次点击
所在节点    问与答
14 条回复
Puteulanus
337 天前
可以搜一下多行编辑的快捷键
Lentin
337 天前
alt+shift+鼠标选 多行编辑
home/end 切换光标前后,就够了
blackcrystal
337 天前
如果只是简单地在每行首尾添加指定的字符串,我有一个用替换而不使用正则表达式的方法。
众所周知每行的行尾和行首,都紧邻换行符。以 Note⁤pad++为例,若要把
129.x.x.194
129.x.x.165
变为
IP-CIDR,129.x.x.194/8,no-resolve
IP-CIDR,129.x.x.165/8,no-resolve
只需把文件第一行和最后一行留空,按 Ctrl+F 并转到“替换”选项卡,以“扩展查找模式”查找目标“\r\n”,将其替换为“/8,no-resolve\r\nIP-CIDR,”,即可看到效果。然后,删除预先在文件首尾留下的空行即可完成。

其实利用大多数类 Unix 系统自带的 awk 命令可以更简单地做到:
awk '{print "开头添加的字符串" $0 "末尾添加的字符串"}' input.txt > output.txt

如果是需要根据文件中的每行内容插入不同的字符串,请楼主补充问题细节或编写脚本解决。
Andim
337 天前
经常用 3 楼的方法编辑各种规则
binghe
337 天前
@Puteulanus
@Lentin
感谢两位的回复,多行编辑有个问题,就是 ip 地址长短不一致,结尾添加时有些选不上。所以才没有使用多行编辑。
但我不知道是否有其他方法可以避免这个问题。
binghe
337 天前
@blackcrystal
感谢提供方法,很好用,editplus 中“拓展查找 xxx”是叫做“支持\U \L \E 符号”,可能不同版本中文有差异。

另外,你说的 awk 命令不会使用。能否给个示例?
IP 列表开头也不同:
129.151.203.111
129.151.203.220
129.151.203.252
129.151.203.254
130.162.137.210
130.162.139.185
130.162.141.81
138.2.18.190
138.2.231.183
138.2.27.139
146.56.189.167
146.56.43.53
150.230.108.177
150.230.221.227
150.230.255.36
168.138.52.23
168.138.77.170
192.18.128.18
192.9.139.252
.....
Andim
337 天前
Notepad++ Ctrl+H
查找模式 正则表达式
查找目标 里添 ^ 替换里添加你要在行首加入的内容
查找目标 里添 $ 替换里添加你要在行尾加入的内容

owltacklejaguar
337 天前
3 楼给的办法

awk '{print "IP-CIDR," $0 "/8,no-resolve"}' input.txt > output.txt
Puteulanus
337 天前
@binghe 我不知道 npp 是不是一样,我在 sublime text 里全选,然后按多行编辑的快捷键,选上的行都会有光标,这时候按左就是所有光标到行首,按右就是所有光标到行尾,即使每行的长度有差别也没问题的

按理说每个光标响应“到行首”、“到行尾”这类快捷键应该行为是一致的,查了下 notepad++ 的好像是 home 和 end ,你可以试试

还有移动一个单词的快捷键,我可以移到行尾,然后按住 shift 用“左移到单词开头”的快捷键,这时候光标会移动到 IP 的第三个点后,同时选上 IP 的第四个数字,按删除,打 0/24 ,就能批量改成网段,而不管最后一个数字是多少位的

多行编辑用熟了挺有生产力的,有时间建议研究一下
binghe
336 天前
@Andim 6 ,万万没想到啊,我之前确实是有在这个编辑框中输入^$想着试试看,但是我有个“习惯”,就是每次都会先点一下查找,看看光标是否能“正确”定位,其他软件我不清楚,但是 vscode 和 editplus 中是无法定位的,于是我也就默认的认为这种方法不行。。。。
binghe
336 天前
@owltacklejaguar 谢谢谢谢,明白了。
binghe
336 天前
@Puteulanus 非常感谢,刚刚在 vscode 上测试了一下,CTRL+左右方向键 可以快速定位到单词开头或者结尾。
air00dd
336 天前
EXCEL 之类的表格程序,纵向拖动,文本合并命令或者函数
binghe
336 天前
@air00dd 实不相瞒,以前确实是用 excel ,但是编辑软件我大多数时是常开的。而 excel 不常开。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/943327

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX