![]() |
поиск замена с рекурсией
скрипт1
есть папка mail в ней куча почтовых профилей пользователей нужно найти все файлы msgFilterRules.dat в подпапках с рекурсией без ограничения и произвести поиск замену(возможно удаление текста) текста скрипт2 есть папка mail в ней куча почтовых профилей пользователей нужно найти файлы prefs.js не глубже одного вхождения т.е. user1 prefs.js user2 prefs.js ... prefs.js userN prefs.js и произвести сложный поиск/замену текста нужно строку вида corp/*текст_имя_пользователя*/*текст_имя_ящика* поменять на строку вида corp/*тескт*/m_*текст* т.е. нужно добавить только m_ данный текст встречается только в строке такого вида user_pref("mail.server.server1.realuserName", "corp/user_fio/imya_yacika"); user_pref("mail.server.server2.realuserName", "corp/user_fio/imya_yacika"); .... user_pref("mail.server.server9.realuserName", "corp/user_fio/imya_yacika"); т.е. все возможные строки user_pref("mail.server.server1-9.realuserName", "corp/user_fio/imya_yacika"); нужно поменять на user_pref("mail.server.server1-9.realuserName", "corp/user_fio/m_imya_yacika"); |
могу добавить что имя папки профиля пользователя совпадает с user_fio
т.е. userN=user_fio может можно как подсчитать кол-во символов в названии папки userN добавить туда кол-во символов corp/userN/ и после второго знака / добавить m_ или искать строки с текстом realuserName запомнить что папка в которой находимся называется userN и после userN/добавить m_ или второй символ / отлавить в строке содержащей realuserName и поставить после него m_ |
прошу..
можно на повершеле |
ап
прошу помощи |
возьми программу и сделай поиск и замену. PM
|
программа с задачей 2 справиться не может
не хватает возможности получать переменную и использовать её при замене |
ну а если так:
найти: Код:
corp/user_*[]/ Код:
corp/user_%1/m_ |
работает
.realuserName", "corp/*[]/ .realuserName", "corp/%1/m_ может ещё подскажешь как заменить .useremail", "user@oooo.aaaaa.ru"); на .useremail", "user@aaaaa.ru"); т.е. жирное удалить user и aaaaa.ru перменные одинаковое для всех oooo. вроде так получается .useremail", "*@oooo. .useremail", "%1@ |
ну вроде так, да ;-)
зы. Всё она справляеццо. Ничего другого подобного нету(я не видел). Прога уникальна и для таких случаев must have! чем писать скрипты в языках кот. для сложных операций с текстом не особопредназначены (cmd\bat ) - лучше взять её. Replace Studio Pro (Search and Replace) Просто RTFM и понять синтаксис её регулярных выражений. В справке всё есть, с примерами. Он, синтаксис, отличается от JS, как и ситаксис RexEx в TC и проч. случаях. |
x0r, зачем учить новый странный синтаксис регулярок, если масса продуктов поддерживает стандартный?
Хочешь - в powershell пишешь: Код:
'user_pref("mail.server.server1.realuserName", "corp/user_fio/imya_yacika");' -replace 'corp/user_.*/', '$&m_' |
Busla, ну смысл сделать это все для множества файлов, разных расширений в разных папках. Массово. в этом был вопрос TS. Для этого, предложил ему эту прогу.
Есть эта прога и в ней всё , с предпростмотром и быстро этовсё делаеццо ибо С++. Есть желание писать скрипты для этого - пожалуйста, делай. можно какой-то foreach заюзать ... я не спец. |
Время: 17:27. |
Время: 17:27.
© OSzone.net 2001-