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 комментариев