Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmytro Rud                           2:5020/400     01 Nov 2002  19:43:02
 To : "Alex V. Litovchenko"
 Subject : Re: Изменить в дереве файлов в подшаблоне текстовый блок
 -------------------------------------------------------------------------------- 
 
 "Alex V. Litovchenko" <avl@partner.donetsk.ua> writes:
 
 > Подскажите, как мне в дереве файлов заменить подстроку например мне
 > нужно в проекте в каталоге (с подкаталогами) изменить в о всех
 > файлах *.c строку 'From' на строку 'To' если можно реально
 > работающий пример. 
 > man find и man awk ясности не внес
 > строка может также быть и объемным текстом с множественными
 > переводами строк. поэтому лучше если скрипт бкдет From и To брать из
 > соответствующих файлов
 
 Я так понял, у тебя фактически две разные задачи:
 1. Замена отдельных слов
 2. Замена многострочных фрагментов текста
 
 Замена отдельных слов делается примерно так (подразумевается, что мы
 используем bash/sh, и корневой каталог иерархии называется root):
 
 for i in `find root -name *.c`; do sed -e s/From/To/g -i .ORIG $i; done
 
 Hасчёт замены фрагментов: если подлежащие замене фрагменты одинаковы
 во всех файлах с точностью до количества пробелов, то попробуй сделать
 следующее: внеси изменения вручную в одном из файлов, а потом
 
 diff -B -b filename.c.orig filename.c > diff1
 
 В зависимости от жалаемого результата можешь поиграться с параметрами
 diff'а (man diff, вестимо...). После этого снова идём циклом:
 
 for i in `find root -name *.c`; do patch $i diff1; done
 
 Также очевидна возможность реализации тех же функций на чём-нибудь
 более приятном типа Perl'а или Python'а...
 
 -- 
         rnd.
 --- ifmail v.2.15dev5
  * Origin: Otto-von-Guericke-Universitaet Magdeburg, FIN (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Изменить в дереве файлов в подшаблоне текстовый блок   Alex V. Litovchenko   01 Nov 2002 15:36:35 
 Re: Изменить в дереве файлов в подшаблоне текстовый блок   Dmytro Rud   01 Nov 2002 19:43:02 
 Re: Изменить в дереве файлов в подшаблоне текстовый блок   Victor Sudakov   01 Nov 2002 21:17:24 
 Re: Изменить в дереве файлов в подшаблоне текстовый блок   Valentin Davydov   02 Nov 2002 19:51:07 
Архивное /ru.unix.bsd/32636365fdbf5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional