[identity profile] xfreme.livejournal.com posting in [community profile] useful_faq
Товарищи, помогите с заменой текста, плиз

У меня есть:
1.jar
1.jar
1.jar
1.jar

Я хочу иметь: 
1.jar
2.jar
3.jar
4.jar

Я так понял нужен редактор с поддержой регулярных выражений ( имеется ) и само рег выражение.

По идее если я напишу (1).jar и заменить на $1(потом инкремент).jar
то получу 10.jar, 11.jar - так тоже сойдет

ну, или просто заменить на (инремент).jar

как это можно сделать ? :) 

Юзфул по работе очень очень не люблю ручной манкей труд

Date: 2009-06-03 02:25 pm (UTC)
From: [identity profile] wiggum-ralph.livejournal.com
вам имена файлов надо менять или список?

Date: 2009-06-03 02:32 pm (UTC)
From: [identity profile] wiggum-ralph.livejournal.com
эммм. А просто в ворде убить все старые номера автозаменой и нумерованный список почему бы не сделать?

Date: 2009-06-03 02:48 pm (UTC)
From: [identity profile] the-sky.livejournal.com
генерируете цикл, например в js и копируете его обратно в xml

например

Date: 2009-06-03 02:55 pm (UTC)
From: [identity profile] krolchatina.livejournal.com
с любым редактором не получится скорее всего, перлом, например:

perl -ne "BEGIN {$i=1} s/(\d+)\.jar/$i.jar/gi;print;$i++"
[Error: Irreparable invalid markup ('<file.txt>') in entry. Owner must fix manually. Raw contents below.]

с любым редактором не получится скорее всего, перлом, например:

perl -ne "BEGIN {$i=1} s/(\d+)\.jar/$i.jar/gi;print;$i++" <file.txt>

может быть можно короче.

в фаре, если есть S&R плагин можно использовать \# как счетчик.

Re: например

Date: 2009-06-04 07:20 am (UTC)
From: [identity profile] krolchatina.livejournal.com
если вы это под юникс-подобной системой запускаете, то, может быть, $i развернулось в переменную окружения. Можно попробовать одинарные кавчки:

perl -ne 'BEGIN {$i=1} s/(\d+)\.jar/$i.jar/gi;print;$i++' file.txt


Ну или, если уж все равно перл поствили, попробуйте так:
скрипт вида
$i=1;

while(){
  $i++ while(s/1\.jar/$i.jar/i);
  print;
}

ну и запуск как perl script.pl < file.in > file.out

Re: например

Date: 2009-06-04 07:44 am (UTC)
From: [identity profile] krolchatina.livejournal.com
видимо, 236-я строка )
попробуйте, все же, второй скрипт - он поприличнее чуть.

Re: например

Date: 2009-06-04 08:03 am (UTC)
From: [identity profile] krolchatina.livejournal.com
чертова жежешка похерила <STDIN> посчитав его тегом
должно быть так:
$i=1;

while(<STDIN>){
  $i++ while(s/1\.jar/$i.jar/i);
  print;
}

Date: 2009-06-03 03:31 pm (UTC)
From: [identity profile] newcheshirecat.livejournal.com
в excel запихнуть, там "+1" сделать

Date: 2009-06-03 05:18 pm (UTC)
From: [identity profile] dogstation.livejournal.com
да, точно в эксель копируете

1.жар
2.жар

потом протягиваете вниз ,и он хоть до 200 автоматически пропишет

Date: 2009-06-04 05:06 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Даже хоть до 64к :)))

Date: 2009-06-04 06:53 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ну 64к единичек он мне счас размножил. Причем быстро и без тормозов.

Date: 2009-06-04 07:01 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Не идут теги. Совсем не идут :)))

Date: 2009-06-04 07:11 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
Ну ссылку в виде текста киньте на картинку. Не понял я :)

Date: 2009-06-04 07:25 am (UTC)
From: [identity profile] alex-djk1.livejournal.com
В первую колонку пишете символ А. Во вторую - циферки (1,2..н), в третью - б. Сохраняете в текстовый файл (или цсв). Открываете в любом блокноте и заменяете А на <element source="1" SrcFile=", Б - на остаток строки. Потом спереди и сзади пишете начальные-конечные теги. Вуаля. Результат готов.