Find and replace string in linux

Find and replace string in linuxВ работата ми, често се налага да търся определен string в много директории и да трябва да го заменя с друг. В този пост ще напиша един лесен начин как се прави това с помощта на find и sed.

Кръстил съм поста : Find and replace string in linux за по-лесното му откриване от търсачките :]

Ето и схемата :

find /home/ -name "ClickController.php" | xargs sed -i 's#http://address1.com/dev/CMS/API/bannerStats#https://nov-address2.com/API/bannerStats#g'

Тук идеята е проста – търсим string-а ClickController.php във всички под директории на /home ( в моят случай бяха над 1000 потребителски директории) и заменяме adress1.com с  nov-address2.com.

Съществуват и много други вариянти , като вместо find може да се използва grep, но съм забелязъл, че grep товари много повече сървъра за разлика от find.

Това е всичко!