Пошук та заміна слів у файлах linux

Linux

Пошук та заміна слів у файлах linux

Нещодавно зіткнувся з проблемою, мені потрібно було знайти певні слова у файлах та замінити їх на потрібний мені текст. Трохи пошукавши в інтернеті, я знайшов як це зробити, тому вирішив записати замітку «Пошук і заміна слів у файлах linux», знадобиться як мені так і іншим користувачам. Це можна зробити командою find та grep з деякими параметрами.

Простий пошук з використанням grep:

Пошук та заміна тексту у файлах:

Видалення певного символу з файлів

Потрібно символи прописувати в Унікод, якщо правильно зрозумів.

Як замінити слово у файлах під час рекурсивного пошуку Linux?

Цим рядком ми шукаємо у всіх файлах з дозволом *.py від поточної директорії рядок text_1 і замінюючи його на text_2, так само можна використовувати regexp вирази.

Ще приклади

Для початку робимо пошук за фразою, яка нам необхідна, нам покаже всі файли і в яких рядках міститься дана фраза:

або для конкретних файлів:

Виконати заміну можна наступним чином:

Екрануємо спеціалізовані символи і замінюємо на будь-який інший рядок, для цього:

Ця команда замінить один рядок на інший у всіх файлах.

Спрощена версія її:

Я сканував maldet і знайшов багато шкідливого коду, тому, я видалив його так:

-===Приклад===-

Припустимо, є файл і в ньому знаходиться:

Але за завданням, щоб було — Three.Two.One

Для цього виконаємо:

PS: Про довбали SED-е я розповім дуже не скоро, він мене реально дратує і злить. Хто її вигадав, реальний сука ДЖЕДАЙ 😀

Робимо заміну іншим способом:

ПРИМІТКА! Утиліту rpl необхідно встановити.

Япізніше спробую навести ще прикладів і розповісти про утиліту у своїй новій статті.

Коли не зручно шукати файли в консольному режимі і є інтерфейс GUI, то можна скористатися утилітою regexxer.Debian/Ubuntu/Mint:

CentOS/RedHat/Fedora:

Дуже проста і хороша утиліта, я сам нею користувався та тестував на своїй віртуальній машині на Debian.

На цьому моя коротка нотатка «Пошук та заміна слів у файлах linux» завершена та готова до використання.