Поиск и замена текста на новый во многих файлах в 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 цифр
                                                                        
ad888888b, ad88888ba ad888888b, ,d8 ad888888b,
d8" "88 d8" "88 d8" "88 ,d888 d8" "88
a8P 8P 88 a8P ,d8" 88 a8P
,d8P" Y8, ,d88 aad8" ,d8" 88 aad8"
a8P" "PPPPPP"88 ""Y8, ,d8" 88 ""Y8,
a8P' 8P "8b 8888888888888 "8b
d8" 8b, a8P Y8, a88 88 Y8, a88
88888888888 `"Y8888P' "Y888888P' 88 "Y888888P'

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