Пакетний пошук і заміна?


2

У мене є кілька тисяч файлів, які мені потрібно шукати і замінювати. Чи є програмне забезпечення, яке може відкрити каталог файлів, сканувати ці файли і потім шукати і замінювати? Я усвідомлюю, що ви можете написати щось подібне. Однак я не зацікавлений і вважаю за краще використовувати те, що вже зроблено.


1
яку операційну систему ви використовуєте?
akira

Відповіді:


4

Якщо ви використовуєте Linux, ви можете передати результати a find команду в sed для виконання заміни.

find . -name '*.txt' -print0 | xargs -0 sed -i 's/searchpattern/replacepattern/'

Тут буде знайдено всі файли у поточному каталозі та нижче ( . є поточним каталогом) і замінити екземпляри searchpattern с replacepattern.


4

Якщо ви використовуєте Windows, ви можете спробувати використати NotePad ++ .
У вікні "Замінити" є вкладка, яка сканує файли в папці (ви можете вибрати розширення для фільтрації) і виконувати пошук / заміну автоматично.

Зауважте, що виконання тисяч файлів може тривати дуже довго. Це залежить від специфікацій комп'ютера. Просто переконайтеся, що у вас є резервні копії файлів, які ви збираєтеся знайти і замінити у випадку, якщо Notepad ++ зірветься, і ви втратите дані.


Дивно. Я зробив свій внесок у другу частину відповіді, і він каже, що Діаго це зробив.
Sam

1
@Sam: дивившись на історію редагувань, я побачив, що ви зробили свій внесок відразу після мого, без порожніх рядків. Діаго його зафіксував. Дякуємо всім, хто зробив мою відповідь краще, дякую!
Marco

0

Я часто працюю над Windows і різними смаками Unix, і для заміни тексту, який я використовую sfk . Наприклад, замінити "foo" на "bar" у всіх .txt файлах у папці logfiles і всі підтеки введіть таке:

sfk replace -pattern /foo/bar/ -dir logfiles -file .txt

Він виконає моделювання. Додати -yes перемикач для заміни тексту.


Ви взагалі пов'язані з цим проектом або є його розробником? Якщо це так, будь ласка, розкрийте це на FAQ або це може вважатися спамом.
James Mertz

Ні, я просто використовую програму часто для своєї щоденної роботи.
pgarcia
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.