我正在处理一个纯文本配置文件,其配置键格式为
<type name>_<#>_<Subcomponent name>=<value>
更清楚一点,配置文件指的是一组计算机,因此类型名称可以是COMPUTER
,子组件名称可以是IP
或PORT
。因此,在整个文件中,我为计算机 1 及其子组件设置了一个密钥块,为计算机 2 设置了一个密钥块,等等。
添加一个新的键块相对容易,但添加多个键块会变成繁琐的列选择练习。由于整个文件中的类型名称长度相同,我希望能够对所有需要更改的数字进行列选择,并快速增加它们。我没有在 TextFX 中看到任何可以执行此操作的东西,这将是显而易见的选择。还有其他方法可以快速轻松地完成此操作吗?
顺便说一句,我知道我可以编写一个 Perl 脚本来执行此操作,但这有点不加区分,因为我不想增加所有数字,只想增加一组数字。
答案1
您可能必须分批执行此操作(如果您的数字列没有用零填充到恒定宽度),但您可以使用列选择(刚刚测试了 notepad++ 5.9.3 版本)来仅选择数字,然后使用编辑->列编辑器(Alt-C)设置您的起始和结束数字。
如果您的数字既不是零填充也不是有序的,这可能也无济于事,但希望它会有所帮助。
答案2
如果你将包含制表符分隔符的文本粘贴到 Excel 中,则会得到一张有用的表格;因此:
- 使用扩展搜索将空格替换为 TAB 字符(将“_”和“=”替换为“\t”)
- 复制并粘贴到 excel,对列内容重新编号
- 复制并粘贴回 notepad++
- 用“_”替换制表符,并将“=”列恢复为矩形选择(ALT +鼠标选择)1个字符宽度。
答案3
最近我使用 OpenOffice Calc(实际上可以在任何电子表格中使用 - 从 Excel 到 Google Docs)以“看起来很蠢,但有效”的方式为我完成这项工作。
在单元格 A1 和 A2 中添加了一些数字 (1,2)。
在单元格 B1 中创建一个“公式”,如下:
="Some filler part "&$A1&" here;"
将 A1:A2 拖至 A31 以将其填充为源列。
拖拽填充B1至B31,将其作为输出数据进行填充。
结果是 31 行,包含如下字符串:
这里是一些填料部分 1;
这里是一些填料部分 2;
这里是一些填料部分 3;
...
这里是一些填料部分 31;选择 B 列并将其复制粘贴到 Notepad++。
我更喜欢这样做,因为 Excel/Calc 不需要任何外部宏或任何东西来完成此类任务。