Отправляет email-рассылки с помощью сервиса Sendsay

За 2009-01-30

Re: Помогите написать скрипт

Владимир Никанчук wrote:
> Добрый день.
>
> Хочу написать небольшой скрипт, но не знаю всех операторов bash.
>
> Короче, нужно заглянуть во все подкаталоги данного, проверить все *.htm(l)
> файлы на наличие подстроки charset=windows-1251, перекодировать с помощью
> recode и заменить на utf-8 c помощью sed'a. Перекодировать и заменять я могу.
>
> Я не знаю, как зайти в каждый подкаталог и проверить, есть ли файлы *.html,
а
> в них подстрока charset=windows-1251.
>

Я бы сделал такой скриптик:

#!/bin/bash

find directory_with_files -name "*.html" -type f -print | while read
filename
do
if [[ `grep -l 'charset=windows-1251' "$filename"` > 0 ]]
then
recode ваши_опции "$filename"
sed -i s/windows-1251/utf8/ "$filename"
fi
done

   2009-01-30 16:31:25 (#816704)

Re: Помогите написать скрипт

Владимир Никанчук пишет:
> Добрый день.
>
> Хочу написать небольшой скрипт, но не знаю всех операторов bash.
>
> Короче, нужно заглянуть во все подкаталоги данного, проверить все *.htm(l)
> файлы на наличие подстроки charset=windows-1251, перекодировать с помощью
> recode и заменить на utf-8 c помощью sed'a. Перекодировать и заменять я могу.
>
> Я не знаю, как зайти в каждый подкаталог и проверить, есть ли файлы *.html,
а
> в них подстрока charset=windows-1251.
>
> Если кому не трудно, подскажите.
Я бы сделал что-то вроде:
$ find -type f -name '*.html' > file-list
$ sed s+"./"+"sed --in-place
s\+\"charset=windows-1251\"\+\"charset=utf8\"\+ "+ file-list > script.sh
$ sh script.sh

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 35584; Возраст листа: 2016; Участников: 1498
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/816479

   2009-01-30 00:17:21 (#816479)