21 Январь 2009

unix/linux — замена строки в файлах

Для замены сроки в одном файле можно использовать команду sed:

sed '/s/старое/новое/g' file.txt > file2.txt
и потом mv file2.txt file.txt

но у вас вероятно будет доступна опция -i, этой команды, что позволит менять внутри строки файла:

sed -i '/s/старое/новое/g' file.txt

Чтоб сделать одинаковую замену вов сех файлах, скажем текущей директории, необходимо написать небольшой скриптик, назовем его strreplace.sh


for FILE in $@; do
sed -i 's/old/new/g' $FILE
done

теперь запустим strreplace.sh с параметром — списком файлов.
для текущей директории это будет: strreplace.sh *

рубрики: Разработка, Софт | 8 комментариев