Поиск и замена стрингов в текстовых файлах

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Waterbyte
Графоман
Сообщения: 48035
Зарегистрирован: 10 авг 2007, 13:43

Поиск и замена стрингов в текстовых файлах

Сообщение Waterbyte »

от помощи знатных алгоритмистов не отказалсо бы. хотя бы советом.

задачко: есть около сотни зип-файлов. в каждом храниццо некий .ini-файл, в котором надо найти и заменить парочку стрингов, новая пара значений которых лежыт в одном текстовом файле (общем для всей той сотни), разбитом на секции, соответствующие именам тех зип-файлов. вручную это делается так: открываю первый зип, нахожу там нужный ini-файл, открываю его, нахожу первый стринг, подлежащий замене, лезу в тот общий текстовый файл, нахожу нужную секцию, копирую новый стринг, пейстю на место старого стринга, повторяю процедуру для второго стринга. открываю следующий зип и повторяю шаги. и так до сих пор, пока... хочеццо написать - пока зипы не кончаццо, а на самом деле получаеццо - пока глаза в кучку не соберуццо... короче, в то время, как космические корабли бороздят просторы, сижу и гроблю своё зрение и время. а нельзя ли как-нибудь этот творческий процесс поручить железяке, которая соображает в миллионы раз быстрее меня?

гран мерси заранее всем, кто поделиццо конструктивными мыслями на сей щщёт.

дополнительная информация: языками не владею, только чуточку сиквел на уровне кверей, и вижуал басик для аппликаций на уровне модулей для аксессов/екселей... а, да, ещё батч-файлы для мсдос помню :) правдо, с переменными, цыклами, еррорлевелами и всеми прочими делами...
Аватара пользователя
akela
Графоман
Сообщения: 13066
Зарегистрирован: 21 авг 2007, 10:25
Откуда: ru->de->bc.ca

Re: Поиск и замена стрингов в текстовых файлах

Сообщение akela »

Waterbyte писал(а):вижуал басик для аппликаций на уровне модулей для аксессов/екселей...
может, басиком и попробовать? Вот только не уверен хорошо ли он умеет с зип-файлами.
Аватара пользователя
Yury
The L'ony
Сообщения: 26202
Зарегистрирован: 22 янв 2004, 13:48
Откуда: Мирный -> Vancouver
Контактная информация:

Re: Поиск и замена стрингов в текстовых файлах

Сообщение Yury »

akela писал(а):может, басиком и попробовать? Вот только не уверен хорошо ли он умеет с зип-файлами.
умеет, для System.Shell зип - та же папка (я нечто подобное на access vba делаю)

примеры работы с зипами можно глянуть здесь, например
http://www.robvanderwoude.com/vbstech_files_zip.php

или здесь

http://www.rondebruin.nl/windowsxpzip.htm
http://www.rondebruin.nl/windowsxpunzip.htm
Аватара пользователя
mrskhris
Маньяк
Сообщения: 2082
Зарегистрирован: 06 июн 2005, 19:37
Откуда: RU - KY - NW - CQ
Контактная информация:

Re: Поиск и замена стрингов в текстовых файлах

Сообщение mrskhris »

На мой взгляд, для обработки текста нет языка лучше perl'а.
Аватара пользователя
Yury
The L'ony
Сообщения: 26202
Зарегистрирован: 22 янв 2004, 13:48
Откуда: Мирный -> Vancouver
Контактная информация:

Re: Поиск и замена стрингов в текстовых файлах

Сообщение Yury »

mrskhris писал(а):На мой взгляд, для обработки текста нет языка лучше perl'а.
скорее всего так и есть, но, как говорится, часто самый короткий дорога - тот, который знаешь
тем более для разовых решений
Аватара пользователя
akela
Графоман
Сообщения: 13066
Зарегистрирован: 21 авг 2007, 10:25
Откуда: ru->de->bc.ca

Re: Поиск и замена стрингов в текстовых файлах

Сообщение akela »

у меня первой мыслью было предложить пайтон... но учитывая заявленный бэкграунд клиента, а также факт того что VBA уже установлен в системе - смысл теряется.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Поиск и замена стрингов в текстовых файлах

Сообщение aissp »

кртаенько, --- ручками ... все остальные рещения обойдутся тебе по времени дороже.

если задача типовая то придеЦЦа чего нибудь таки выучить. например тот же пайтон, ето совсем не сложно пара деньков. ну могет недельку. проще английского
Аватара пользователя
alpax
Графоман
Сообщения: 10717
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Поиск и замена стрингов в текстовых файлах

Сообщение alpax »

aissp писал(а):кртаенько, --- ручками ... все остальные рещения обойдутся тебе по времени дороже.
Вот у меня тоже такое подозрение. Во-первых, долго изучать предмет, во-вторых, без опыта программирования можно накосячить и что-то упустить - не будет уверенности в том, что сделано правильно. Впрочем, при выполнении ручками тоже уверенности нет - от однообразности и усталости можно пропустить что-то.
Вообще поскольку задача одноразовая я бы скорее всего и сам тоже не стал писать полноценный скрипт, а все это сделал бы в FAR (может с парой вспомогательных батников, да и то не факт, что они нужны) - развернуть все зипы каждый в свой каталог - несколько нажатий кнопок. Потом искать-заменять с помощью плагина типа Search&Replace. Если имя .ini файла одинаковое во всех архивах, задача упрощается - меньше действий понадобится. А если еще и пары значений для замены одинаковые хотя бы для части архивов, их вообще можно будет обрабатывать оптом.
Аватара пользователя
akela
Графоман
Сообщения: 13066
Зарегистрирован: 21 авг 2007, 10:25
Откуда: ru->de->bc.ca

Re: Поиск и замена стрингов в текстовых файлах

Сообщение akela »

а хоть бы даже и не удастся времени сэкономить, ну и что? Удовольствия от написания программки всяко больше чем от тупого ковыряния. Да и в будущем пригодится.
Аватара пользователя
Waterbyte
Графоман
Сообщения: 48035
Зарегистрирован: 10 авг 2007, 13:43

Re: Поиск и замена стрингов в текстовых файлах

Сообщение Waterbyte »

akela писал(а):Удовольствия от написания программки всяко больше чем от тупого ковыряния.
пока что мне за ковыряние лучше платили, чем за удовольствие...

пошол искать сёрч-н-риплейс плагин к фару. им и ковырну, пожалуй...
Аватара пользователя
alpax
Графоман
Сообщения: 10717
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Поиск и замена стрингов в текстовых файлах

Сообщение alpax »

akela писал(а):а хоть бы даже и не удастся времени сэкономить, ну и что? Удовольствия от написания программки всяко больше чем от тупого ковыряния.
Само решение задачи, поиск вариантов и разных способов решения, и положительный результат тоже приносят удовлетворение.
akela писал(а):Да и в будущем пригодится.
Не факт.
Да, полезно уметь программировать, даже хотя бы не слишком сложные скрипты. Однако не всегда можно сказать, что это умение реально получится использовать.
За других говорить не буду, но у меня, например, задачи обработки кучи файлов, где помогает написание скрипта, возникают раз в несколько месяцев. Для таких задач, особенно связанных с текстом, предпочитаю использовать Perl - просто потому, что в свое время как-то им воспользовался, изучил базовые функции, достаточные для подобных применений. Но за несколько месяцев я уже забываю некоторые детали, поскольку в обычной работе мне Perl не нужен, и в очередной раз приходится снова лезть в документацию, чтобы уточнить некоторые неочевидные вещи (которые в Perl на каждом шагу).
Так что я не знаю, насколько реально полезно непрограммисту браться за изучение какого-то языка для решения только одной задачи, с возможной вероятностью появления подобной, например, через несколько месяцев. Конечно если такие задачи возникают достаточно часто, какой-то подходящий способ автоматизации полезно найти и изучить.
Аватара пользователя
akela
Графоман
Сообщения: 13066
Зарегистрирован: 21 авг 2007, 10:25
Откуда: ru->de->bc.ca

Re: Поиск и замена стрингов в текстовых файлах

Сообщение akela »

Waterbyte писал(а):
akela писал(а):Удовольствия от написания программки всяко больше чем от тупого ковыряния.
пока что мне за ковыряние лучше платили, чем за удовольствие...
в ближнем будущем, да, ковыряйся в чём сказали и не жужжи, и тебе будет заплачено.
А в более отдалённом, кто знает... у меня неоднократно бывали случаи, когда удовольствие полученное сейчас, многократно оплачивалось через несколько лет.
alpax писал(а):Но за несколько месяцев я уже забываю некоторые детали, поскольку в обычной работе мне Perl не нужен, и в очередной раз приходится снова лезть в документацию, чтобы уточнить некоторые неочевидные вещи (которые в Perl на каждом шагу).
Гм. Здесь (мне лично) помогает аккуратное сохранение всех текстов своих программок и скриптов, чтоб ничё не потерялось. Даже через год-другой, если возникает похожая задача, я просто снова беру какую-нибудь старую программку, модифицирую в ней пару строк, и вуаля.
Аватара пользователя
alpax
Графоман
Сообщения: 10717
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Поиск и замена стрингов в текстовых файлах

Сообщение alpax »

akela писал(а):Гм. Здесь (мне лично) помогает аккуратное сохранение всех текстов своих программок и скриптов, чтоб ничё не потерялось. Даже через год-другой, если возникает похожая задача, я просто снова беру какую-нибудь старую программку, модифицирую в ней пару строк, и вуаля.
Этим и спасаюсь. :)
Аватара пользователя
Waterbyte
Графоман
Сообщения: 48035
Зарегистрирован: 10 авг 2007, 13:43

Re: Поиск и замена стрингов в текстовых файлах

Сообщение Waterbyte »

akela писал(а):в ближнем будущем, да, ковыряйся в чём сказали и не жужжи, и тебе будет заплачено.
А в более отдалённом, кто знает...
в более отдалённом я помру, и всё удовольствие насмарку пойдёт...
Аватара пользователя
akela
Графоман
Сообщения: 13066
Зарегистрирован: 21 авг 2007, 10:25
Откуда: ru->de->bc.ca

Re: Поиск и замена стрингов в текстовых файлах

Сообщение akela »

Waterbyte писал(а):
akela писал(а):в ближнем будущем, да, ковыряйся в чём сказали и не жужжи, и тебе будет заплачено.
А в более отдалённом, кто знает...
в более отдалённом я помру, и всё удовольствие насмарку пойдёт...
если помру, то это станет неважным. Если не помру, то получу бонус. Win-win ситуация.
Ответить