LINUX.ORG.RU

Re: Надо заменить в файле некоторые символы

ну если кат и сед не катят, то:

открываем фаил ин

открыжаем файл аут

пока не еоф : читаем символ из ин, анализируем:

если '^' то в аут пишем "**", если нет - что считали.

и что это за стандарные средства коими не силно просто?

Pi ★★★★★ ()
Ответ на: Re: Надо заменить в файле некоторые символы от anonymous

Re: Надо заменить в файле некоторые символы

Не парься

sed -e s@чего_меняем@на_кого_меняем@g -i имя_файла

А вообще наберись кофе и терпения и скажи info coreutils потом info sed потом info grep потом info awk - жить станет лучше, жить станет веселей ;)

iBliss ()

Re: Надо заменить в файле некоторые символы

Короче. Все очень просто.

1) Берешь книгу красного дракона и читаешь главу посвещенную лексическому анализу. С особенным остервенением вчитываешься в те места где написано про регулярные выражения. Скажу сразу, что тебе нужен алгоритм генерации по регулярному выражению распознающего ДКА. На основе ДКА ты легко построишь лексический анализатор исходного текста. Это первое что тебе потребуется.

2) Считываешь исходный файл в промежуточный буфер. Блоками разумеется. Затем читаешь посимвольно из буфера. Символы прогоняешь через лексический анализатор, который должен проверить соответствие содержимого буфера и регулярника '^'.

3) Если совпадения зафиксировано не было, то сохраняешь буфер в требуемый фал целиком. Если было зафиксировано совпадение, то сохраняешь часть буфера до совпадения. Пишешь в файл '**'. И сохраняеншь часть буфера после совпадения

BottleHunter ()

Re: Надо заменить в файле некоторые символы

чтобы заменить в файле некоторые символы - используй текствый редактор

lg ★★ ()
Ответ на: Re: Надо заменить в файле некоторые символы от BottleHunter

Re: Надо заменить в файле некоторые символы

1.
> И сохраняеншь часть буфера после совпадения
Да ну? :)

2. Зачем такие сложности с лексическим анализом? Или это чтоб интереснее было? :)

Teak ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.