Я ищу способ найти и заменить текст в сотнях файлов.
Я знаю, что Джани может найти текст в нескольких файлах. Это хорошо. Но как заменить текст?
Джани, кажется, делает это только в том файле, который открыт в данный момент. Как открыть все файлы в Geany, где он находит строку поиска.
Спасибо
Это - способ заменить текст в нескольких файлах в Geany. Если Вы хотите найти все экземпляры текста в нескольких файлах перед заменой их можно выбрать Поиск->, Находят из меню Geany, и имена файлов и номера строки строк в файлах, содержащих критерий поиска, появятся в списке в нижней области окна Geany. Любые открытые вкладки в Geany, имена файлов которого не найдены в этом списке в нижней области Geany, могут быть вручную закрыты по одному, или можно оставить все вкладки открытыми, так как это не имеет никакого значения к результату операции замены.
Вы можете сделать это, ожидая появления плагина в этом смысле, или используя терминал . Я думаю, что второй способ лучше на данный момент. Я объясню, как.
Чтобы открыть все файлы, в которых найдена определенная строка, из директории (и подкаталогов) откройте Geany, выберите вкладку Terminal в окне сообщений и выполните следующую команду inside:
grep -rHIF --exclude='/directory_path/*~' -- 'text_to_find' /bin/bash /directory_path/* | geany `awk 'BEGIN {FS="[:]"} {print $1}'`
Например, чтобы открыть все скрипты bash, которые есть в моем каталоге /home/radu/bin
с Geany, я запускаю следующую команду:
grep -rHIF --exclude='/home/radu/bin/*~' -- '#!/bin/bash' /home/radu/bin/* | geany `awk 'BEGIN {FS="[:]"} {print $1}'`
Чтобы открыть эти файлы в новом экземпляре Geany без загрузки файлов предыдущего сеанса, используйте -is
аргументы для команды geany
:
grep -rHIF --exclude='/directory_path/*~' -- 'text_to_find' /bin/bash /directory_path/* | geany -is `awk 'BEGIN {FS="[:]"} {print $1}'`
Теперь, когда у вас есть все файлы, которые вам нужно открыть за один сеанс Geany, нажмите Ctrl kbd> + H kbd>, чтобы открыть диалоговое окно Заменить , вставьте текст для поиска, вставьте текст для замены и нажмите кнопку в сеансе :