Re: Как заменить строку во множестве текстовых файлов

2006-07-09 Нитка Ilya Petrov
п'ятниця 07 липень 2006 22:52, 7Up Ви написали:
> #!/bin/sh
> for i in `ls *.*`;
>  do
>  sed 's|то_что тебе нужно поменять|то_на_что_менять|' $i > tmpfile;
>  mv tmpfile $i;
> done
у современного sed есть ключик -i :
 for i in `ls *.*`;
do
sed 's|то_что тебе нужно поменять|то_на_что_менять|' -i $i
done
>
> P.S. но тут есть одно НО!   sed -->  действует в нутри файла до
> первого совпадения с искомым регулярным выражением потом меняет его! и
> завершает процедуру!
емнип,  если дать аргумент g, то не завершает :
sed 's|то_что тебе нужно поменять|то_на_что_менять|g'

-- 
 С наилучшими пожеланиями, Илья Петров
 ICQ: 336 947 772, Jabber: [EMAIL PROTECTED]
 Registered Linux User #377 584
--
музыка затихла
-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Как заменить строку во множестве текстовых файлов

2006-07-07 Нитка SerP MoloT
7Up wrote:
> Создаешь файлик с правами на выполнение!
> и внутри файла пишешь!
>
> #!/bin/sh
> for i in `ls *.*`;
>  do
>  sed 's|то_что тебе нужно поменять|то_на_что_менять|' $i > tmpfile;
>  mv tmpfile $i;
> done
>
>
>
>
> P.S. но тут есть одно НО!   sed -->  действует в нутри файла
> до первого совпадения с искомым регулярным выражением потом меняет
> его! и завершает процедуру!

Есть и еще одно НО. Твой скрипт создаст файл, владельцем которого будет
пользователь, запустивший скрипт. И права доступа  могут быть отличны от
прав доступа на исходный файл.

На мой взгляд, в таких случаях лучше пользоваться rpl.

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Как заменить строку во множестве текстовых файлов

2006-07-07 Нитка 7Up




Nick Denry пишет:

  В Птн, 07/07/2006 в 23:52 +0400, 7Up пишет:

  
  
Создаешь файлик с правами на выполнение!
и внутри файла пишешь!

  
  
Я впринципе сам разобрался :),
но спасибо большое за подробный пример :)

решпект :)

  

незашто! обрасчайся :-)


begin:vcard
fn;quoted-printable:=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9 =D0=A9=D0=B5=D0=BB=D0=BA=D1=83=
	=D0=BD=D0=BE=D0=B2
n;quoted-printable;quoted-printable:=D0=A9=D0=B5=D0=BB=D0=BA=D1=83=D0=BD=D0=BE=D0=B2;=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9
org:icq: 16446;jabber: [EMAIL PROTECTED]
adr;quoted-printable;quoted-printable;quoted-printable:;;=D0=93=D0=B0=D0=B7=D0=B5=D1=82=D0=BD=D1=8B=D0=B9 49;=D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83=
	;;;=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F
email;internet:[EMAIL PROTECTED]
title;quoted-printable:=D0=B8=D0=BD=D0=B6=D0=B5=D0=BD=D0=B5=D1=80
tel;work:2-44-00-26
note;quoted-printable:jabber: [EMAIL PROTECTED]
	icq:   16446
x-mozilla-html:TRUE
url:http://sndt.donpac.ru
version:2.1
end:vcard

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Как заменить строку во множестве текстовых файлов

2006-07-07 Нитка 7Up




Igor Zubarev пишет:

  
  Опиши
плиз как это делается, :)
или где почитать о багах.
  
  
  
См примеры багов:
  https://launchpad.net/distros/ubuntu/+bugs
  
  
-- 
Раздел  локализации  на  форуме Убунту: 
http://forum.ubuntu.ru/index.php?board=14.0
FAQ по локализации для новичков (ВАЖНО) :
  http://forum.ubuntu.ru/index.php?topic=2571.0
Список рассылки: https://lists.ubuntu.com/mailman/listinfo/ubuntu-l10n-ru
ДЛЯ СИНХРОНИЗАЦИИ ПЕРЕВОДОВ ВСТРЕЧАЕМСЯ КАК ВСЕГДА В IRC
  irc.freenode.net канал
#ubuntu-translators-ru
  
С уважением,
Игорь Зубарев
Команда переводчиков Убунту
  
мои мгновенные контакты: 
GTalk: [EMAIL PROTECTED]
(основной)
  
ICQ: 250257058 (дополнительный)

Создаешь файлик с правами на выполнение!
и внутри файла пишешь!

#!/bin/sh
for i in `ls *.*`;
 do
 sed 's|то_что тебе нужно поменять|то_на_что_менять|' $i > tmpfile;
 mv tmpfile $i;
done



Кладешь этот файлец в папку со своими файлами в которых нужно менять
строки
и запускаешь свой скрипт 
# cd папка_с_файлами
# ./имя_файлика_который_создал

и все у тя все поменялось!


P.S. но тут есть одно НО!   sed -->  действует в нутри файла
до первого совпадения с искомым регулярным выражением потом меняет его!
и завершает процедуру!
это я к тому что если искомое тобой выр-е в нутри файла встречается
несколько раз то будет заменено только первое! чтобы менялись все
совпадения нужно дорабатывать мой скрипт!  ну это уж от того что тебе
нужно!
на твой вкус!  дерзай!!
если че спрашивай!!


begin:vcard
fn;quoted-printable:=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9 =D0=A9=D0=B5=D0=BB=D0=BA=D1=83=
	=D0=BD=D0=BE=D0=B2
n;quoted-printable;quoted-printable:=D0=A9=D0=B5=D0=BB=D0=BA=D1=83=D0=BD=D0=BE=D0=B2;=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9
org:icq: 16446;jabber: [EMAIL PROTECTED]
adr;quoted-printable;quoted-printable;quoted-printable:;;=D0=93=D0=B0=D0=B7=D0=B5=D1=82=D0=BD=D1=8B=D0=B9 49;=D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83=
	;;;=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F
email;internet:[EMAIL PROTECTED]
title;quoted-printable:=D0=B8=D0=BD=D0=B6=D0=B5=D0=BD=D0=B5=D1=80
tel;work:2-44-00-26
note;quoted-printable:jabber: [EMAIL PROTECTED]
	icq:   16446
x-mozilla-html:TRUE
url:http://sndt.donpac.ru
version:2.1
end:vcard

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Как заменить строку во множестве текстовых файлов

2006-07-06 Нитка 7Up




Yuriy Movchan пишет:

  
  
Поставь пакет rpl. Он умеет рекурсивно делать замены.
  
On Thu, 2006-07-06 at 16:32 +0400, Nick Denry wrote:
  
Какой-то японец Gregory Trubetskoy или кто-то из команды дистриба :) 

в документации mod_python (*.html) установил кодировку charset=EUC-JP,

можно ли обработать файлы пачкой и charset=EUC-JP заменить на
charset=windows-1251 или все только вручную ?



  

ааа пардон не понял 
я думал тебе файлы надо перекодить в др кодировку!!!
а для замены можешь использовать тот же скрипт тока
вместо iconv
юзай в скрипте тулзу SED
читай man sed и делай так как там написано!
неполучится пиши! придумаем!


begin:vcard
fn;quoted-printable:=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9 =D0=A9=D0=B5=D0=BB=D0=BA=D1=83=
	=D0=BD=D0=BE=D0=B2
n;quoted-printable;quoted-printable:=D0=A9=D0=B5=D0=BB=D0=BA=D1=83=D0=BD=D0=BE=D0=B2;=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9
org:icq: 16446;jabber: [EMAIL PROTECTED]
adr;quoted-printable;quoted-printable;quoted-printable:;;=D0=93=D0=B0=D0=B7=D0=B5=D1=82=D0=BD=D1=8B=D0=B9 49;=D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83=
	;;;=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F
email;internet:[EMAIL PROTECTED]
title;quoted-printable:=D0=B8=D0=BD=D0=B6=D0=B5=D0=BD=D0=B5=D1=80
tel;work:2-44-00-26
note;quoted-printable:jabber: [EMAIL PROTECTED]
	icq:   16446
x-mozilla-html:TRUE
url:http://sndt.donpac.ru
version:2.1
end:vcard

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru


Re: Как заменить строку во множестве текстовых файлов

2006-07-06 Нитка 7Up

Nick Denry пишет:
Какой-то японец Gregory Trubetskoy или кто-то из команды дистриба :) 


в документации mod_python (*.html) установил кодировку charset=EUC-JP,

можно ли обработать файлы пачкой и charset=EUC-JP заменить на
charset=windows-1251 или все только вручную ?


  

можно!!
есть тулза называется recode
она чет загемороиная и я написал скриптец чтобы в текущей папке
все html файлы править из cp1251 в utf8
можешь поправить и юзать
вот текст:
#!/bin/sh
for i in `ls *.html`;
do iconv -c -f cp1251 -t utf-8 $i > $i.utf;
mv $i.utf $i;
done
begin:vcard
fn;quoted-printable:=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9 =D0=A9=D0=B5=D0=BB=D0=BA=D1=83=
	=D0=BD=D0=BE=D0=B2
n;quoted-printable;quoted-printable:=D0=A9=D0=B5=D0=BB=D0=BA=D1=83=D0=BD=D0=BE=D0=B2;=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9
org:icq: 16446;jabber: [EMAIL PROTECTED]
adr;quoted-printable;quoted-printable;quoted-printable:;;=D0=93=D0=B0=D0=B7=D0=B5=D1=82=D0=BD=D1=8B=D0=B9 49;=D0=A0=D0=BE=D1=81=D1=82=D0=BE=D0=B2-=D0=BD=D0=B0-=D0=94=D0=BE=D0=BD=D1=83=
	;;;=D0=A0=D0=BE=D1=81=D1=81=D0=B8=D1=8F
email;internet:[EMAIL PROTECTED]
title;quoted-printable:=D0=B8=D0=BD=D0=B6=D0=B5=D0=BD=D0=B5=D1=80
tel;work:2-44-00-26
note;quoted-printable:jabber: [EMAIL PROTECTED]
	icq:   16446
x-mozilla-html:TRUE
url:http://sndt.donpac.ru
version:2.1
end:vcard

-- 
ubuntu-ru mailing list
ubuntu-ru@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru