Показать сообщение отдельно

  #3  
Старый 15.01.2011, 21:04
typus
Постоянный
Регистрация: 25.07.2007
Сообщений: 895
С нами: 9892926

Репутация: 0


По умолчанию

Цитата:

ask0n написал(а):

Можно попробовать сразу через find делать:

Код:


Код:
find "корневая_папка_для_поиска" -name "*.xml" -type f -exec sed -i -e 's/текст_для_поиска/заменяем_на/g' {} \;
Конечно же через find, как же еще...
в общем то, уже нашел все решения,с помощью конечно, ну и причины ошибок. Ошибка выше была только во freebsd, и решилась добавлением между параметрами i и e пары пустых двойных кавычек. Я сильно не вдавался, почему на фре так, заработало как надо и ладно. А под линуксом и так все нормально отрабатывало.
в принципе, даже скрипт небольшой помогли мне написать, может немного корявый, но работает быстро и лог пишет.

Код:


Код:
#!/bin/sh
LOGFILE=/home/typus/sed1.log
cp /dev/null $LOGFILE
for a in $( find "корневая_папка_для_поиска" -name "*.xml" ); do
	sed -i "" -e "/ст/ sтекст_для_поиска//заменяем_на/gwsed.log" $a
	c=`wc -l >$LOGFILE 
	fi
done
rm sed.log
 
Ответить с цитированием