Я хочу знать, как найти и заменить определенный текст в нескольких файлах, как в Notepad++ в указанном ниже руководстве.
например:http://cybernetnews.com/find-replace-multiple-files/
решение1
Здесь я использую sed для замены каждого вхождения слова «cybernetnews» на «cybernet» в каждом файле с расширением c в каталоге /home/user/directory/.
find /home/user/directory -name \*.c -exec sed -i "s/cybernetnews/cybernet/g" {} \;
Более общий вариант, в котором вы выполняете рекурсивный поиск из каталога выполнения и работаете только с обычными, доступными для чтения и записи файлами:
find ./ -type f -readable -writable -exec sed -i "s/cybernetnews/cybernet/g" {} \;
решение2
Потоковый редактор sed — это мощная утилита для такого рода работы, и это мой первый выбор. Однако, если вы хотите сделать это из обычного текстового редактора, используя собственное приложение на базе Ubuntu, я бы посоветовал вам взглянуть на Jedit. Он доступен в репозиториях и может быть установлен, введя в консоли:
sudo apt-get install jedit
Запустите jedit, щелкните пункт меню «Поиск», в списке меню щелкните пункт «Поиск в каталоге», вам будет представлено диалоговое окно, показанное ниже:
Это похоже на Notepad++ и делает то же самое. Я думаю, это то, что вам нужно.
решение3
Другой вариант графического интерфейса —регулярный екссер:
решение4
Проверить сДжини, это идеальная замена NPP для Linux. Вы можете сделать именно это, плюс вы можете использовать regex.