Я не знаком с синтаксисом TextWrangler; однако он использует pcre
, так что это должно быть тем, что вы хотите, если у вас есть способ присвоить начальное значение вашей инкрементной переменной (в данном случае я использую $ii
) ... сценарий ниже заменяет любое вхождение "пицца-х" с "пицца-0", "пицца-1" ...
@foo = ('pizza', 'pizza-a', 'pizza-b', 'pizza-c');
$ii = 0;
foreach (@foo) {
$_ =~ s/(pizza-)[a-z]/"$1".$ii++/e;
print "$_\n";
}
Результаты ...
[mpenning@mpenning-t60 Desktop]$ perl foo.pl
pizza
pizza-0
pizza-1
pizza-2
Магия происходит от s///e;
и $ii++
; убедитесь, что вы заключили не увеличивающуюся строку в кавычки и объединили ее с точкой.
В качестве альтернативы, просто выполните манипулирование с автоинкрементом с помощью perl -pi -e '$ii = 0; s/something/"here".$ii++/e
`непосредственно в текстовом файле (сначала сделайте резервную копию, конечно).