5

Я работаю над обычным текстовым файлом конфигурации, который имеет формат ключа конфигурации

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

Чтобы быть немного более понятным, файл конфигурации относится к группе компьютеров, поэтому имя типа может быть COMPUTER , а имя подкомпонента может быть, например, IP или PORT . Итак, у меня есть блок ключей для компьютера 1 и его подкомпонентов, блок для компьютера 2 и т.д. По всему файлу.

Добавление одного нового блока ключей сравнительно легко, но добавление нескольких блоков становится утомительным упражнением по выбору столбцов. Поскольку имя типа имеет одинаковую длину по всему файлу, я хочу иметь возможность выбирать столбец среди всех чисел, которые нужно изменить, и быстро увеличивать их. Я не вижу в TextFX ничего такого, что могло бы сделать это, что было бы очевидным вариантом. Есть ли другой способ сделать это быстро и легко?

Как примечание, я знаю, что мог бы написать сценарий Perl для этого, но было бы немного неразборчиво, потому что я не хочу увеличивать все числа, только группу из них.

3 ответа3

2

Возможно, вам придется делать это в пакетном режиме (если ваш числовой столбец не заполнен нулями до постоянной ширины), но вы можете использовать выбор столбцов (только что протестированный, работающий с блокнотом ++ 5.9.3), чтобы выбрать только цифры, а затем использовать Edit -> Редактор столбцов (Alt-C), чтобы установить ваши начальные и конечные числа.

Это может не сильно помочь, если ваши числа не заполнены нулями и не упорядочены, но, надеюсь, это поможет.

0

В последнее время я использовал OpenOffice Calc (на самом деле работает в любой электронной таблице - от Excel до Google Docs), чтобы сделать это для меня «выглядит глупо, но работает».

  1. В ячейки А1 и А2 добавлено несколько чисел (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 не требует каких-либо внешних макросов или чего-либо еще для выполнения задач такого рода.

0

Если вы вставите текст в строку с разделителями вкладок, то получите полезный лист; так:

  • заменить пробел с помощью символов табуляции с помощью расширенного поиска (замените "_" и "=" на "\t")
  • скопировать и вставить в Excel, перенумеровать содержимое столбца
  • скопировать и вставить обратно в блокнот ++
  • замените табуляцию на "_" и восстановите ввод столбца «=» в прямоугольное выделение (ALT + выделение мыши) шириной в 1 символ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .