Инкрементные числа в строке

Я искал способ увеличить числа в моей длинной строке:

run("Bio-Formats", "open=/Users/m-a/Desktop/test_stabilite001.nd2 color_mode=Default rois_import=[ROI manager] split_channels view=Hyperstack stack_order=XYCZT series_1");
run("Bio-Formats", "open=/Users/m-a/Desktop/test_stabilite002.nd2 color_mode=Default rois_import=[ROI manager] split_channels view=Hyperstack stack_order=XYCZT series_1");
run("Bio-Formats", "open=/Users/m-a/Desktop/test_stabilite003.nd2 color_mode=Default rois_import=[ROI manager] split_channels view=Hyperstack stack_order=XYCZT series_1");
run("Bio-Formats", "open=/Users/m-a/Desktop/test_stabilite004.nd2 color_mode=Default rois_import=[ROI manager] split_channels view=Hyperstack stack_order=XYCZT series_1");
run("Concatenate...", "  title=TL open image1=[test_stabilite001.nd2 - test_stabilite001.nd2 (series 01) - C=0] image2=[test_stabilite002.nd2 - test_stabilite002.nd2 (series 01) - C=0] image3=[test_stabilite003.nd2 - test_stabilite003.nd2 (series 01) - C=0] image4=[test_stabilite004.nd2 - test_stabilite004.nd2 (series 01) - C=0] image5=[-- None --]");
run("Concatenate...", "  title=GFP open image1=[test_stabilite001.nd2 - test_stabilite001.nd2 (series 01) - C=1] image2=[test_stabilite002.nd2 - test_stabilite002.nd2 (series 01) - C=1] image3=[test_stabilite003.nd2 - test_stabilite003.nd2 (series 01) - C=1] image4=[test_stabilite004.nd2 - test_stabilite004.nd2 (series 01) - C=1] image5=[-- None --]");
selectWindow("TL");
saveAs("Tiff", "/Users/m-a/Desktop/Test/Test_Serie1_TL.tif");
selectWindow("GFP");
saveAs("Tiff", "/Users/m-a/Desktop/Test/Test_Serie1_GFP.tif");
selectWindow("Test_Serie1_TL.tif");
close();
selectWindow("Test_Serie1_GFP.tif");
close();

В экономящих время целях я хочу найти простой способ заменить "series_1", "серия 01" и "Serie1" "series_n+1", "серия 0n+1" и "Serien+1" приблизительно 50 раз. Я озирался некоторое время, но не мог найти, что что-либо помогло мне с этим.

Справка высоко ценилась бы :)

0
задан 10 August 2018 в 15:49

1 ответ

Вы могли сделать это в энергии с помощью следующей команды:

g/[Ss]erie\(s[ _]\|\)\d*/ normal gn^An^An^An^A

Для использования его откройте текстовый пример в энергии, затем нажмите ESC, затем: затем вышеупомянутая строка. Однако каждый раз, когда ^A потребности, которые будут введены, введите Управление-a Управления-v, которое вставит литерал ^A символ. Это должно просто обнаружиться как ^A.

Это найдет все шаблоны в Вашем примере и увеличит число в нем одним. Вот то, как это работает:

  • ESC: введет командный режим в энергию.
  • выполняемая команда g команда. Это выполнит команду на всех строках, соответствующих некоторому регулярному выражению.
  • [Ss]erie\(s[ _]\|\)\d* регулярное выражение, которое должно соответствовать всем шаблонам, которые Вы запросили. Это serie запуск с капитала или не капитала s, сопровождаемый s и пространство или _, или сопровождаемый ничем. Затем сопровождаемый числом.
  • команда, выполняемая на каждой строке g команда на самом деле будет 8 командами:
    • normal просто выразительная энергия ключевого слова, что, что следует, не команды режима командной строки, но нормальные команды режима. Таким образом, вещи Вы обычно просто вводили бы при нормальном редактировании в энергии.
    • gn перемещает курсор в место, где последнее соответствие было найдено
    • Управление-a увеличивает число (это также работало бы, когда Вы перемещаете курсор в то положение вручную и просто нажимаете его).
    • n перемещения к следующему соответствию. Это повторяется 3 раза.

Этому будет нужна энергия 7.4 и вверх работать. Также этому будет нужна корректировка, если у Вас будет больше чем 4 случаев шаблона в строке.

Я должен отметить, что использование сценариев или волшебства редактора изменить код программы как это является вполне глупым способом работать. Было бы намного лучше улучшить Вашу программу для генерации строк программно соответствующим способом.

Примечание: Ваш код похож на ImageJ. Если это так, вот документ, который мог помочь Вам достигнуть чего-то немного лучше: http://www.sussex.ac.uk/gdsc/intranet/pdfs/ImageJBatchProcessing.pdf

1
ответ дан 28 October 2019 в 04:26

Другие вопросы по тегам:

Похожие вопросы: