Page 1 of 1

редактирование файлов по шаблону

Posted: Thu Apr 22, 2010 6:33 pm
by mikele
здравствуйте
есть группа файлов. в каждом нужно заменить начальные символы на другие и дописать в конце файла набор других символов
как это можно реализовать в автоматическо режиме? может скрипт написанный есть?
в английском не силен, а русскую часть форума обыскал.
заранее спасибо

Posted: Fri Apr 23, 2010 7:55 am
by VladSh
Для начала я бы попробовал плагин Macros (он для простых случаев).
Если хорошо разбираетесь в регулярках, то можно использовать SearchReplace.js, который находится в дистрибутиве Scripts-плагина.
Если нужно что-то более специфическое, то придётся скрипт писать самому.

Posted: Fri Apr 23, 2010 10:47 am
by opk44
Может не зацикливаться на выполнении такой операции только AkelPad средствами.
Например по второй части вопроса (если нужно добавить в хвост всем txt файлам одни и те же символы) - можно вписать нужную строку в отдельный файл (здесь "xvost.end"), а затем "приклеить" его к каждому txt файлу командой copy. Для удобства можно создать командный файл start.bat с таким содержимым:

start.bat
======

Code: Select all

for %%f in (*.txt) do copy %%f + xvost.end  %%f
pause
======

Для первой части вопроса (подмена первых символов), действительно, пока первое что приходит в голову, это регулярные выражения (правда я пользуюсь для групповой обработки c RegExp-ами плагином search&replace для FarManager от Ивана Синтюрина http://www.moris.ru/~spinoza ).

И еще. Из сообщения не совсем понятно, используются ли одни и те же строки для всех файлов группы или для каждого файла свои?

Posted: Fri Apr 23, 2010 5:21 pm
by mikele
надо было сразу написать :)
переделываю плейлисты winamp для плеера samsung yp-p3
всем буду благодарен за помощь

пример
исходный файл *.m3u
#M3U
D:\music\Arida Vortex\Evil Sorcery\01. Invasion.mp3
D:\music\Arida Vortex\Evil Sorcery\02. Vortex.mp3
D:\music\Arida Vortex\Evil Sorcery\03. Break the Fetters.mp3
D:\music\Arida Vortex\Evil Sorcery\04. Revolution Time.mp3
D:\music\Arida Vortex\Evil Sorcery\05. Prison for my Soul.mp3
D:\music\Arida Vortex\Evil Sorcery\06. Autumn.mp3
D:\music\Arida Vortex\Evil Sorcery\07. Facing the Elements.mp3
D:\music\Arida Vortex\Evil Sorcery\08. Imagination.mp3
D:\music\Arida Vortex\Evil Sorcery\09. When Tomorrow Comes.mp3
D:\music\Arida Vortex\Evil Sorcery\10. Evil Sorcery.mp3
D:\music\Arida Vortex\Evil Sorcery\11. Abyss of Emptiness.mp3
D:\music\Arida Vortex\Evil Sorcery\12. Улетай.mp3

конечный файл *.spl
SPL PLAYLIST
VERSION 2.00

\music\Arida Vortex\Evil Sorcery\01. Invasion.mp3
\music\Arida Vortex\Evil Sorcery\02. Vortex.mp3
\music\Arida Vortex\Evil Sorcery\03. Break the Fetters.mp3
\music\Arida Vortex\Evil Sorcery\04. Revolution Time.mp3
\music\Arida Vortex\Evil Sorcery\05. Prison for my Soul.mp3
\music\Arida Vortex\Evil Sorcery\06. Autumn.mp3
\music\Arida Vortex\Evil Sorcery\07. Facing the Elements.mp3
\music\Arida Vortex\Evil Sorcery\08. Imagination.mp3
\music\Arida Vortex\Evil Sorcery\09. When Tomorrow Comes.mp3
\music\Arida Vortex\Evil Sorcery\10. Evil Sorcery.mp3
\music\Arida Vortex\Evil Sorcery\11. Abyss of Emptiness.mp3
\music\Arida Vortex\Evil Sorcery\12. Улетай.mp3

END PLAYLIST

myDNSe DATA


END myDNSe

Posted: Sat Apr 24, 2010 9:00 am
by ccaid
mikele
во-первых, полагаю, вы не первый, кому это понадобилось, поэтому есть смысл погуглить на этот счет, возможно уже есть готовые решения.
во-вторых, я бы для такой операции смотрел в сторону одной из реализаций юниксовой утилиты sed. например, http://sed.sourceforge.net/grabbag/ssed/

Posted: Sat Apr 24, 2010 9:51 am
by Fr0sT

Code: Select all

for %%F in (*.m3u) DO (
	echo SPL PLAYLIST >> %%~dpnF.spl
	echo VERSION 2.00 >> %%~dpnF.spl
	for /F "tokens=*" %s in (%%F) DO (
		IF NOT %s==#M3U (
			echo %s >> %%~dpnF.spl
		)
	echo END PLAYLIST >> %%~dpnF.spl
	echo myDNSe DATA >> %%~dpnF.spl
	echo END myDNSe >> %%~dpnF.spl
	)
)
возможны глюки, но принцип такой

Posted: Sun Apr 25, 2010 3:37 am
by mikele
ccaid,Fr0sT
спасибо за идеи, буду копать

к сожалению кроме меня это никого не интересует, искал такую программку, но не нашел

Posted: Mon Apr 26, 2010 6:53 am
by Fr0sT
mikele
потому что это разовая акция, и смысла затачивать под нее программу нету :) Либо действительно поищи проги для конвертации плейлистов.