在 Notepad++ 中快速增加选定的数字

在 Notepad++ 中快速增加选定的数字

我正在处理一个纯文本配置文件,其配置键格式为

<type name>_<#>_<Subcomponent name>=<value>

更清楚一点,配置文件指的是一组计算机,因此类型名称可以是COMPUTER,子组件名称可以是IPPORT。因此,在整个文件中,我为计算机 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)以“看起来很蠢,但有效”的方式为我完成这项工作。

  1. 在单元格 A1 和 A2 中添加了一些数字 (1,2)。

  2. 在单元格 B1 中创建一个“公式”,如下:

    ="Some filler part "&$A1&" here;"
    
  3. 将 A1:A2 拖至 A31 以将其填充为源列。

  4. 拖拽填充B1至B31,将其作为输出数据进行填充。

    结果是 31 行,包含如下字符串:

    这里是一些填料部分 1;
    这里是一些填料部分 2;
    这里是一些填料部分 3;
    ...
    这里是一些填料部分 31;

  5. 选择 B 列并将其复制粘贴到 Notepad++。

我更喜欢这样做,因为 Excel/Calc 不需要任何外部宏或任何东西来完成此类任务。

相关内容