У меня есть несколько тысяч файлов, которые мне нужно найти и заменить. Существует ли программное обеспечение, которое может открывать каталог файлов, сканировать эти файлы, а затем искать и заменять? Я знаю, что вы можете написать что-то вроде этого. Однако меня это не интересует, и я предпочитаю использовать то, что уже сделано.
3 ответа
Если вы используете Windows, вы можете попробовать использовать NotePad++.
В его окне Replace есть вкладка, которая сканирует файлы в папке (вы можете выбрать расширение для фильтрации) и выполнять поиск / замену автоматически.
Просто отметьте, что создание тысяч файлов может занять очень много времени. Это зависит от технических характеристик вашего компьютера. Просто убедитесь, что у вас есть резервная копия файлов, которые вы собираетесь найти и заменить в случае сбоя Notepad ++ и потери данных.
Если вы используете Linux, вы можете передать результаты команды find
в sed
для выполнения замены.
find . -name '*.txt' -print0 | xargs -0 sed -i 's/searchpattern/replacepattern/'
Это найдет каждый файл в вашем текущем каталоге и ниже (.
Это ваш текущий каталог) и заменит экземпляры searchpattern
на replacepattern
.
Я часто работаю над Windows и различными версиями Unix, а для замены текста я использую sfk.
Например, чтобы заменить "foo" на "bar" во всех файлах .txt в logfiles
файлах папок и во всех их подкаталогах, введите следующее:
sfk replace -pattern /foo/bar/ -dir logfiles -file .txt
Это сделает симуляцию. Добавьте ключ -yes
чтобы фактически заменить текст.