| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Поиск и замена текста в группе файлов

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

Ответ
Поиск в этой теме
Непрочитано 09.01.2012, 10:08 1 | #1
Поиск и замена текста в группе файлов
nik_mb
 
конструктор
 
Волгоград
Регистрация: 23.03.2009
Сообщений: 120

Программа по поиску и замене текста "Batch Find & Replace Text" в группе файлов уже упоминалась на этом форуме. Как и сайт с лисп программами англичанина Ли Мака. Это и "Automatic Block Break" позволяющий перенести блок на линию или кривую с автоматическим выравниванием и разрывом примитивов под блоком (для электрических схем наверное нужная вещь). "Automatically Label Attributes" - автоматическая нумерация в атрибутах блоков (наверное сгодится для простановки осей или узлов). "Block Counter" - подсчет количества блоков по их именам. "Dynamic Offset" - подобие нескольких примитивов в динамике с различными опциями. Прикольная програмка "Clock" - часы на чертеже, только, чтобы узнать текущее время надо обновить вид (командами 'ВСЕОСВЕЖ или РЕГЕН). Некоторые программы сопровождены анимационной демонстрацией их работы.
Я адаптировал программу "BFind" версии 2.0 (от 22-07-2011) на русский язык (не все правда) - многим так будет понятнее ее работа.
Небольшие пояснения по работе проги.
После загрузки и ввода команды "BFind" формируется файл диалога "LMAC_BFind_V2-0.dcl" в папке определенной переменной "ROAMABLEROOTPREFIX" и потом загружается этот сохраненный диалог. Там же сохраняется файл списков поиска и замены.
Для поиска и замены нужно ввести строки поиска и замены, а затем добавить в поле списка. Поиск и замена ведется сразу для всех пар списка. Эти списки можно редактировать, сохранять и загружать. В диалоговом окне "Опции" выбираются типы примитивов для поиска. И если отметить поле (отмечено по умолчанию) "Всегда Создавать Отчет по Замене" - откроется Exel c табличным отчетом (лучше эту опцию выключить). Все настройки программа записывает в файл конфигурации и "помнит".

Вложения
Тип файла: zip BFind V2.0.zip (14.7 Кб, 994 просмотров)

__________________
Мой сайт ingnmb.wixsite.com/acad-s
Просмотров: 33218
 
Непрочитано 09.01.2012, 20:36
#2
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


У Lee Mac, ну, очень много кода уходит на создание диалогов да и всяких красивостей в комментах достаточно... а так хорошие программы
gomer вне форума  
 
Непрочитано 06.06.2012, 12:10
#3
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 644
<phrase 1= Отправить сообщение для baaba с помощью Skype™


У меня не работает "слово целиком", в закладке "опции". Мне надо заменить "П" на "ПД"

PS. Очень нужен лисп для замены по регэкспу.
Посмотрел вот этот вариант:
https://sites.google.com/site/bushma...-zametki/regex
но там нужно использовать регекспы из перла. Я знаю что у sed и grep регекспы похожи на перл, то есть получается должно выглядеть примерно так: s/\\^П\\$/\\^ПД\\$/g , но, во первых утилита два раза спрашивает шаблон, тогда \\^П\\$ в первый раз и \\^ПД\\$ во второй, но это гадание на кофейной гуще, т. к. к сожалению программа не задокументирована (покрайней мере я не нашёл вменяемой инструкции) и, главное, нужны примеры. А ведь такая функция так нужна проектировщикам. Вот у нас например девушка переделывает штампы в 100 файлах, в то время как это можно сделать одной коммандой.

Последний раз редактировалось baaba, 06.06.2012 в 15:08.
baaba вне форума  
 
Непрочитано 06.06.2012, 14:36
#4
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


ФАТАЛЬНАЯ ОШИБКА: Unhandled c0000417h Exception at 78556d36h
Даная ошибка выскакивает, при исполнении этой команды. Запрос делаю на обычный поиск в директории с вложенными папками.
Вовочка вне форума  
 
Непрочитано 06.06.2012, 19:08 частично решено
#5
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 644
<phrase 1= Отправить сообщение для baaba с помощью Skype™


Цитата:
Сообщение от baaba Посмотреть сообщение
PS. Очень нужен лисп для замены по регэкспу.
Вот короткая справка по регекспам: http://dh.opennet.ru/pcre2.html
Этого в большинстве случаев достаточно, книгу скачивать не обязательно.
В моём случае на первый вопрос вводим ^П$, на второй - ПД

Теперь бы добиться того же от bfind (http://www.lee-mac.com/bfind.html Lee Mac) так как требуется это проделать на 104 файлах.
baaba вне форума  
 
Непрочитано 07.11.2013, 17:32
1 | #6
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Вот делюсь макросом по тому-же самому делу, но в документах Word - массовый поиск и замена текста в группе файлов в заданной папке, прикладываю.

----- добавлено через ~15 мин. -----
работает так долго, что быстрее ручками
Вложения
Тип файла: doc SrcAndRpl_Beta3.doc (163.0 Кб, 362 просмотров)
Nike вне форума  
 
Непрочитано 29.06.2015, 10:57
#7
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 5,705


Подскажите в таком вопросе: есть большое число файлов и в каждом нужно заменить в примечаниях название краски, как оптимально выполнить замену текста во всех файлах не открывая их (текст однострочный)?
Yuzer вне форума  
 
Непрочитано 29.06.2015, 13:27
#8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Batch Find & Replace Text из #1 чем не подходит?
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 29.06.2015, 13:28
#9
Yuzer

Мозговой штурм
 
Регистрация: 26.10.2008
Рідна ненька - Україна, Харків
Сообщений: 5,705


Цитата:
Сообщение от VVA Посмотреть сообщение
Batch Find & Replace Text из #1 чем не подходит?
Как я понял - ошибок много.

----- добавлено через ~2 ч. -----
Сработало. Спасибо.
Yuzer вне форума  
 
Непрочитано 05.07.2015, 21:48
#10
yurakolomiets


 
Регистрация: 02.12.2011
Сообщений: 371


Подскажите по этой программе-Batch Find & Replace Text , я выбираю "только поиск, заполняю данные для поиска, нажимаю ОК, прога выполняется и ничего не происходит. Как посмотреть файлы с найденным текстом?
yurakolomiets вне форума  
 
Непрочитано 09.09.2018, 12:37
#11
superkot007


 
Регистрация: 15.01.2010
Сообщений: 254


Подскажите, что нужно (если это возможно) поправить в выложенном lsp (или оригинале), чтобы открывалось окно выбора директории, в которое можно было бы копировать уже известный путь?
Переход "по дереву" достаточно неудобен, если путь до нужной папки длинный...

И еще - возможно ли поправить lsp, чтобы последний использованный путь отображался полностью (или хотя бы его "конечная часть", по которой можно определить, в какой папке последний раз происходила работа)?
superkot007 вне форума  
 
Непрочитано 09.09.2018, 20:42
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


superkot007, Попробуй в этом месте
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")
)
)
)
)
)
)
)
заменить nil на *BFind_pat*
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." *BFind_pat* (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")
)
)
)
)
)
)
)
*Добавлено*
Не пойдет. Не сможешь подняться выше указанной директории
Цитата:
MSDN Shell.BrowseForFolder said:
The root folder to use in the dialog box. The user cannot browse higher in the tree than this folder. If this value is not specified, the root folder used in the dialog box is the desktop.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 09.09.2018 в 21:04.
VVA вне форума  
 
Непрочитано 10.09.2018, 04:25
#13
superkot007


 
Регистрация: 15.01.2010
Сообщений: 254


http://www.lee-mac.com/getallfiles.html
http://www.lee-mac.com/directorydialog.html
Похоже, что вид окна выбора зависит от функции _DirectoryDialog (строки 371-391)? Точнее, переменной bit?
Но что-то не подходит ничего...

Вроде нашел решение
Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")

Цитата:
(action_tile "dir"
(vl-prin1-to-string
(quote
(progn
(if (setq tmp (_DirectoryDialog "Select Directory of Drawings to Process..." nil (+ 1 16 64 256)))
(progn
(_DirectoryText "dir_text" (setq *BFind_pat* tmp))
(if (eq (strcase *BFind_pat*) (strcase cdir))
(set_tile "cur_dir" "1")
(set_tile "cur_dir" "0")

Последний раз редактировалось superkot007, 17.09.2018 в 20:08.
superkot007 вне форума  
 
Непрочитано 17.09.2018, 20:07
1 | #14
superkot007


 
Регистрация: 15.01.2010
Сообщений: 254


Мелкие правки локализации из шапки
Вложения
Тип файла: lsp BFIND_RU.LSP (80.1 Кб, 206 просмотров)
superkot007 вне форума  
 
Непрочитано 03.03.2019, 09:47
#15
allar8


 
Регистрация: 12.03.2013
Сообщений: 650


Программа классная. Но есть вопрос. Можно ли подгрузить список автозамены из эксель например? Т.к. в экселе удобно редактировать список автозамены. И еще было бы здорово если б программа умела бы выбирать тексты и мтексты которые попадают в список автозамены

Последний раз редактировалось allar8, 03.03.2019 в 10:12.
allar8 вне форума  
 
Непрочитано 06.03.2019, 22:28
#16
superkot007


 
Регистрация: 15.01.2010
Сообщений: 254


Цитата:
Сообщение от allar8 Посмотреть сообщение
Программа классная. Но есть вопрос. Можно ли подгрузить список автозамены из эксель например? Т.к. в экселе удобно редактировать список автозамены.
Скорее всего, можно, откорректировав lisp.
Но если знаний недостаточно, то можно использовать следующий костыль:
- сохранить произвольную автозамену под произвольным именем;
- в папке C:\Users\<ИМЯ_УЧЕТНОЙ_ЗАПИСИ>\AppData\Roaming\Autodesk\AutoCAD 2014\R19.1\rus\Support (для других версий AutoCAD поправить год 20XX и версию R...) найти LMAC_BFind_SavedSearches_V2-0.txt;
- понять, как формируются списки автозамены (имя списка - в квадратных скобках, каждая замена на одной строке, искомое и заменяемое значение разделяется Tab);
- в Excel сформировать список замен из двух столбцов;
- просто скопировать список из Excel в LMAC_BFind_SavedSearches_V2-0.txt, предварительно создав новую секцию [...];
- при запуске BFIND подгрузить сохраненный список автозамен.

Цитата:
Сообщение от allar8 Посмотреть сообщение
И еще было бы здорово если б программа умела бы выбирать тексты и мтексты которые попадают в список автозамены
В "Опциях" устанавливается "Однострочный текст", "Многострочный текст" (для переведенного lisp)... Или что-то другое нужно?
superkot007 вне форума  
 
Непрочитано 11.05.2019, 10:42
#17
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


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

смысл в том, чтобы все найденные куски текста собрать в один сводный файл, а в исходных файлах его заменить

----- добавлено через ~6 ч. -----
Сам себе отвечу (может мой ответ кому-то полезен будет).
Нашёл программу PowerGREP называется.
Она это умеет делать - собирать найденные фрагменты в один файл ("коллекцию")
Кондратий Тихонович вне форума  
 
Непрочитано 11.05.2019, 19:32
#18
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


эта программа работает с БД чертежей акада?
Сергей812 вне форума  
 
Непрочитано 03.08.2019, 14:03
#19
Кондратий Тихонович


 
Регистрация: 06.06.2016
Сообщений: 327


Сергей812
Она работает с текстовым файлом
Кондратий Тихонович вне форума  
 
Непрочитано 18.10.2019, 01:25
#20
Vova1502

ПГС
 
Регистрация: 31.07.2013
Южно-Сахалинск
Сообщений: 24


Ув. коллеги подскажите пожалуйста не могу найти какую сточку в лиспе нужно удалить/заменить чтобы отключить автоматическое сохранение файла после использования лиспа.
Заранее благодарю.

Последний раз редактировалось Vova1502, 18.10.2019 в 08:05.
Vova1502 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Поиск и замена текста в группе файлов

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и замена текста TechNick AutoCAD 183 13.12.2021 21:44
Групповой поиск и замена текста Torino Программирование 22 05.03.2016 23:00
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
Замена одного текста на другой автоматически в пакете файлов. Возможно? Sharnir AutoCAD 5 07.04.2011 16:33
Поиск и замена текста на чертежах Autodesk Inventor Бриг Прочее ПО от Autodesk 4 21.01.2009 17:05