FreeBSD : Замінити слово або текст в декількох файлах за допомогою grep та sed
Andriy Karashchuk
Менi недавно довелося замінити кожне входження слова точнiше IP адресу в великiй кiлькостi файлів , що охоплюють кілька каталогів, і це найшвидший спосіб що я знайшов, щоб зробити це.
Наприклад потрiбно замiнити IP адрес з 1.1.1.1 на 2.2.2.2 в файлах в яких буде знайдено текст "1.1.1.1"
grep -rl "1.1.1.1" ./ | xargs sed -i '.backup' 's/1.1.1.1/2.2.2.2/g'
Де .backup це той суфікс отримають копіЇ тих файлів які були змінені.
2015-10-30 09:18, author Андрiй
Лiпше за допомогою perl, бо в sed опцiя 'i' в деяких OS не працюэ
Вы только посетили наш сайт, КОММЕНТИРОВАНИЕ будет доступно через несколько минут. возможно у Вас отключен javascript, если включен - просто обновите страницу
grep -rl "1.1.1.1" ./ | xargs perl -e 's/1.1.1.1/2.2.2.2/g' -pi
возможно у Вас отключен javascript, если включен - просто обновите страницу