Поиск и замена текста на новый во многих файлах в 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 цифр
                                                                        
ad88888ba ad8888ba, ,d8 ad88888ba 8888888888
d8" "88 8P' "Y8 ,d888 d8" "8b 88
8P 88 d8 ,d8" 88 Y8a a8P 88 ____
Y8, ,d88 88,dd888bb, ,d8" 88 "Y8aaa8P" 88a8PPPP8b,
"PPPPPP"88 88P' `8b ,d8" 88 ,d8"""8b, PP" `8b
8P 88 d8 8888888888888 d8" "8b d8
8b, a8P 88a a8P 88 Y8a a8P Y8a a8P
`"Y8888P' "Y88888P" 88 "Y88888P" "Y88888P"

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