Поиск и замена текста на новый во многих файлах в unix

Команда найдёт все файлы в текущем каталоге и подкаталогах, содержащие OLD_TEXT и заменит строку "OLD_TEXT" на "NEW_TEXT":
grep -HR OLDTEXT ./ | awk '{print $1}' | sed 's/:.*$//' | grep -v '~' | sort | uniq | xargs perl -i -pe "s/OLD_TEXT/NEW_TEXT/g;"
Учитывайте, что текст указан в выражении, если в вашем OLD_TEXT встречаются спец.символы - их нужно экранировать \
Для работы команды кроме gnu utils нужен perl.

Взято отсюда: http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/

Метки:

Оставить комментарий

Содержание этого поля является приватным и не предназначено к показу. Если есть аккаунт Gravatar, то отображается глобальный аватар.

Подробнее о форматировании

КАПЧА
А ты не робот? Введи 5 цифр
                                                                      
8888888888 ad8888ba, 8888888888 ad888888b, ad88888ba
88 8P' "Y8 88 d8" "88 d8" "8b
88 ____ d8 88 ____ a8P Y8a a8P
88a8PPPP8b, 88,dd888bb, 88a8PPPP8b, ,d8P" "Y8aaa8P"
PP" `8b 88P' `8b PP" `8b a8P" ,d8"""8b,
d8 88 d8 d8 a8P' d8" "8b
Y8a a8P 88a a8P Y8a a8P d8" Y8a a8P
"Y88888P" "Y88888P" "Y88888P" 88888888888 "Y88888P"

Enter the code depicted in ASCII art style.
To prevent automated spam submissions leave this field empty.