ALT Linux Community general discussions
 help / color / mirror / Atom feed
* Re: [Comm] Поиск и замена
  @ 2005-04-19 12:20 ` Eugene A. Suchkov
  2005-04-19 12:32 ` Alexey Rusakov
  1 sibling, 0 replies; 19+ messages in thread
From: Eugene A. Suchkov @ 2005-04-19 12:20 UTC (permalink / raw)
  To: community

Hi, Дорогов Николай! You wrote 19.04.2005 16:20:
> Подскажите чем из стандартного можно
> в большом количестве текстовых файлов произвести замену одной строки на другую,
> желательно в консоли и с рекурсией по вложенным папкам.

sed

-- 
With best regards
Eugene A. Suchkov (a.k.a CityHawk)
ICQ 177787156
http://www.livejournal.com/users/suchkoff/



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Поиск и замена
    2005-04-19 12:20 ` [Comm] Поиск и замена Eugene A. Suchkov
@ 2005-04-19 12:32 ` Alexey Rusakov
  2005-04-19 12:51   ` Дорогов Николай
  1 sibling, 1 reply; 19+ messages in thread
From: Alexey Rusakov @ 2005-04-19 12:32 UTC (permalink / raw)
  To: community

On 19.04.2005 16:20, Дорогов Николай wrote:
> Подскажите чем из стандартного можно
> в большом количестве текстовых файлов произвести замену одной строки на 
> другую,
> желательно в консоли и с рекурсией по вложенным папкам.
Помнится, я для таких целей пользовался rpl (apt-get install rpl), 
причём когда та же проблема была на SuSE, пришлось притащить пакет из 
ALT - родного не нашёл. Так что стандартным я это назвать не могу и 
присоединяюсь к предыдущему оратору - sed.

-- 
   Alexey "Ktirf" Rusakov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Поиск и замена
  2005-04-19 12:32 ` Alexey Rusakov
@ 2005-04-19 12:51   ` Дорогов Николай
  2005-04-19 12:52     ` Alexey Rusakov
  2005-04-19 12:55     ` [Comm] " Nick S. Grechukh
  0 siblings, 2 replies; 19+ messages in thread
From: Дорогов Николай @ 2005-04-19 12:51 UTC (permalink / raw)
  To: community

> On 19.04.2005 16:20, Дорогов Николай wrote:
> > Подскажите чем из стандартного можно
> > в большом количестве текстовых файлов произвести замену одной строки на
> > другую,
> > желательно в консоли и с рекурсией по вложенным папкам.
> Помнится, я для таких целей пользовался rpl (apt-get install rpl),
> причём когда та же проблема была на SuSE, пришлось притащить пакет из
> ALT - родного не нашёл. Так что стандартным я это назвать не могу и
> присоединяюсь к предыдущему оратору - sed.

Как я понял из man, sed не меняет исходный файл а выводит данные в
стандартный вавод.
Есть ли команды которые позволяют делать замены прям в том файле который
читается?


>
> -- 
>    Alexey "Ktirf" Rusakov
> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> https://lists.altlinux.ru/mailman/listinfo/community



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Поиск и замена
  2005-04-19 12:51   ` Дорогов Николай
@ 2005-04-19 12:52     ` Alexey Rusakov
  2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
  2005-04-19 12:55     ` [Comm] " Nick S. Grechukh
  1 sibling, 1 reply; 19+ messages in thread
From: Alexey Rusakov @ 2005-04-19 12:52 UTC (permalink / raw)
  To: community

On 19.04.2005 16:51, Дорогов Николай wrote:
> Как я понял из man, sed не меняет исходный файл а выводит данные в
> стандартный вавод.
> Есть ли команды которые позволяют делать замены прям в том файле который
> читается?
Используйте стандартную схему с выводом во временный файл и его 
последующим переименованием. Оно и безопаснее, и проще, и надёжнее.

-- 
   Alexey "Ktirf" Rusakov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Поиск и замена
  2005-04-19 12:51   ` Дорогов Николай
  2005-04-19 12:52     ` Alexey Rusakov
@ 2005-04-19 12:55     ` Nick S. Grechukh
  1 sibling, 0 replies; 19+ messages in thread
From: Nick S. Grechukh @ 2005-04-19 12:55 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 273 bytes --]

On Tuesday 19 April 2005 15:51, Дорогов Николай wrote:
> Как я понял из man, sed не меняет исходный файл а выводит данные в
> стандартный вавод.
> Есть ли команды которые позволяют делать замены прям в том файле который
> читается?
$ rpm -qf /usr/bin/subst 
sed-4.1.4-alt2

[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] [JT] Поиск и замена
  2005-04-19 12:52     ` Alexey Rusakov
@ 2005-04-19 13:08       ` Michael Isachenkov
  2005-04-19 13:12         ` Re[2]: " Anton Gorlov
                           ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Michael Isachenkov @ 2005-04-19 13:08 UTC (permalink / raw)
  To: community

>> Используйте стандартную схему с выводом во временный файл и его 
> последующим переименованием. Оно и безопаснее, и проще, и надёжнее.

Был, впрочем, такой случай.
Один мой знакомый попросил другого моего знакомого сделать скрипт, который переводит все имена файлов в lowercase рекурсивно, начиная с текущей директории.
Как вы думаете, каков был результат? :-]

-- 
Best regards, Michael Isachenkov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re[2]: [Comm] [JT] Поиск и замена
  2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
@ 2005-04-19 13:12         ` Anton Gorlov
  2005-04-19 13:18           ` Michael Isachenkov
  2005-04-19 13:13         ` Olvin
                           ` (2 subsequent siblings)
  3 siblings, 1 reply; 19+ messages in thread
From: Anton Gorlov @ 2005-04-19 13:12 UTC (permalink / raw)
  To: community

Здравствуйте, Michael.

Вы писали 19 апреля 2005 г., 17:08:24:

> Был, впрочем, такой случай.
> Один мой знакомый попросил другого моего знакомого сделать
> скрипт, который переводит все имена файлов в lowercase рекурсивно,
> начиная с текущей директории.
> Как вы думаете, каков был результат? :-]
Э....  размер винта стал lowercase? ;-)
А без шуток -всё что есть на винте стало в нижнем регистре?




-- 
С уважением,
 Anton                          mailto:Pnz.Stalker@mail.ru



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] [JT] Поиск и замена
  2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
  2005-04-19 13:12         ` Re[2]: " Anton Gorlov
@ 2005-04-19 13:13         ` Olvin
  2005-04-19 13:21         ` Alexey Rusakov
  2005-04-19 14:53         ` [Comm] " Michael Shigorin
  3 siblings, 0 replies; 19+ messages in thread
From: Olvin @ 2005-04-19 13:13 UTC (permalink / raw)
  To: community

Michael Isachenkov wrote:
>>>Используйте стандартную схему с выводом во временный файл и его 
>>последующим переименованием. Оно и безопаснее, и проще, и надёжнее.
> Был, впрочем, такой случай.
> Один мой знакомый попросил другого моего знакомого сделать скрипт, который переводит все имена файлов в lowercase рекурсивно, начиная с текущей директории.
> Как вы думаете, каков был результат? :-]

MAKEDEV пошёл гулять лесом? :)


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Re[2]: [Comm] [JT] Поиск и замена
  2005-04-19 13:12         ` Re[2]: " Anton Gorlov
@ 2005-04-19 13:18           ` Michael Isachenkov
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Isachenkov @ 2005-04-19 13:18 UTC (permalink / raw)
  To: community

>> А без шуток -всё что есть на винте стало в нижнем регистре?

Именно так. :))

-- 
Best regards, Michael Isachenkov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] [JT] Поиск и замена
  2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
  2005-04-19 13:12         ` Re[2]: " Anton Gorlov
  2005-04-19 13:13         ` Olvin
@ 2005-04-19 13:21         ` Alexey Rusakov
  2005-04-19 14:02           ` Michael Isachenkov
  2005-04-19 14:53         ` [Comm] " Michael Shigorin
  3 siblings, 1 reply; 19+ messages in thread
From: Alexey Rusakov @ 2005-04-19 13:21 UTC (permalink / raw)
  To: community

On 19.04.2005 17:08, Michael Isachenkov wrote:
> Был, впрочем, такой случай.
> Один мой знакомый попросил другого моего знакомого сделать скрипт, который переводит все имена файлов в lowercase рекурсивно, начиная с текущей директории.
> Как вы думаете, каков был результат? :-]
Что-то мне подсказывает, что он переименовывал имя каталога, после чего 
пытался войти в него по старому не-lowercase имени. Или всё-таки правда 
MAKEDEV пошёл гулять лесом? :)

-- 
   Alexey "Ktirf" Rusakov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] [JT] Поиск и замена
  2005-04-19 13:21         ` Alexey Rusakov
@ 2005-04-19 14:02           ` Michael Isachenkov
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Isachenkov @ 2005-04-19 14:02 UTC (permalink / raw)
  To: community

>> MAKEDEV пошёл гулять лесом? :)

И он тоже. :) наряду с /etc/X11 и т.п. :)

-- 
Best regards, Michael Isachenkov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Comm] Re: [JT] Поиск и замена
  2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
                           ` (2 preceding siblings ...)
  2005-04-19 13:21         ` Alexey Rusakov
@ 2005-04-19 14:53         ` Michael Shigorin
  2005-04-19 16:45           ` Michael Isachenkov
  2005-04-20 13:28           ` Andrey Rahmatullin
  3 siblings, 2 replies; 19+ messages in thread
From: Michael Shigorin @ 2005-04-19 14:53 UTC (permalink / raw)
  To: community

On Tue, Apr 19, 2005 at 05:08:24PM +0400, Michael Isachenkov wrote:
> Один мой знакомый попросил другого моего знакомого сделать
> скрипт, который переводит все имена файлов в lowercase
> рекурсивно, начиная с текущей директории.
> Как вы думаете, каков был результат? :-]

Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Re: [JT] Поиск и замена
  2005-04-19 14:53         ` [Comm] " Michael Shigorin
@ 2005-04-19 16:45           ` Michael Isachenkov
  2005-04-19 17:06             ` Michael Shigorin
  2005-04-20 13:28           ` Andrey Rahmatullin
  1 sibling, 1 reply; 19+ messages in thread
From: Michael Isachenkov @ 2005-04-19 16:45 UTC (permalink / raw)
  To: community

>> 
> Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)

Михаил, вы единственный оптимист в community@! :)

-- 
Best regards, Michael Isachenkov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Comm] Re: [JT] Поиск и замена
  2005-04-19 16:45           ` Michael Isachenkov
@ 2005-04-19 17:06             ` Michael Shigorin
  2005-04-19 17:10               ` Michael Isachenkov
  2005-04-19 21:32               ` Olvin
  0 siblings, 2 replies; 19+ messages in thread
From: Michael Shigorin @ 2005-04-19 17:06 UTC (permalink / raw)
  To: community

On Tue, Apr 19, 2005 at 08:45:52PM +0400, Michael Isachenkov wrote:
> > Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)
> Михаил, вы единственный оптимист в community@! :)

Да не, просто в своё время споткнулся и узнал про find -depth. :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Re: [JT] Поиск и замена
  2005-04-19 17:06             ` Michael Shigorin
@ 2005-04-19 17:10               ` Michael Isachenkov
  2005-04-19 21:32               ` Olvin
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Isachenkov @ 2005-04-19 17:10 UTC (permalink / raw)
  To: community

>> > > Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)
> > Михаил, вы единственный оптимист в community@! :)
> 
> Да не, просто в своё время споткнулся и узнал про find -depth. :)

В случае моих знакомых все было гораздо готичнее. find'ом они не пользовались. :)

-- 
Best regards, Michael Isachenkov


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Re: [JT] Поиск и замена
  2005-04-19 17:06             ` Michael Shigorin
  2005-04-19 17:10               ` Michael Isachenkov
@ 2005-04-19 21:32               ` Olvin
  2005-04-20 12:09                 ` Michael Shigorin
  1 sibling, 1 reply; 19+ messages in thread
From: Olvin @ 2005-04-19 21:32 UTC (permalink / raw)
  To: community

Michael Shigorin wrote:
>>>Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)
>>Михаил, вы единственный оптимист в community@! :)
> Да не, просто в своё время споткнулся и узнал про find -depth. :)

Мне кажется, что -depth тут не сильно помогло бы :)



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Comm] Re: [JT] Поиск и замена
  2005-04-19 21:32               ` Olvin
@ 2005-04-20 12:09                 ` Michael Shigorin
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Shigorin @ 2005-04-20 12:09 UTC (permalink / raw)
  To: community

On Wed, Apr 20, 2005 at 12:32:27AM +0300, Olvin wrote:
> >>>Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)
> >>Михаил, вы единственный оптимист в community@! :)
> >Да не, просто в своё время споткнулся и узнал про find -depth. :)
> Мне кажется, что -depth тут не сильно помогло бы :)

Мне как раз с переименованиями деревьев помогало.  ЕМНИП, конечно.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Re: [JT] Поиск и замена
  2005-04-19 14:53         ` [Comm] " Michael Shigorin
  2005-04-19 16:45           ` Michael Isachenkov
@ 2005-04-20 13:28           ` Andrey Rahmatullin
  2005-04-20 13:56             ` Дорогов Николай
  1 sibling, 1 reply; 19+ messages in thread
From: Andrey Rahmatullin @ 2005-04-20 13:28 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 308 bytes --]

On Tue, Apr 19, 2005 at 05:53:16PM +0300, Michael Shigorin wrote:
> Если мыслить позитивно -- _вдумчивое_ изучение find(1). :)
convmv(1) для данного случая тоже сойдет ;) 

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Зачем вам понадобился -L/usr/lib?
		-- ldv in sisyphus@

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Comm] Re: [JT] Поиск и замена
  2005-04-20 13:28           ` Andrey Rahmatullin
@ 2005-04-20 13:56             ` Дорогов Николай
  0 siblings, 0 replies; 19+ messages in thread
From: Дорогов Николай @ 2005-04-20 13:56 UTC (permalink / raw)
  To: community

Проблему поиска и замены текста в файлах с именами по маске
на половину решил следующим скриптом,
который нашел на сайте http://www.vanta.ru/script/info.php?id=498&clas=2
Не хватает прохода по вложенным папкам. А так просто сказочный скриптик.

#!/usr/bin/perl

 #  ====================================================================
 #  Copyright (c) 1998-2000 Marcus Kazmierczak, marcus@mkaz.com
 #  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification, are permitted provided that the following conditions
 #  are met:
 #
 #  1. Redistributions of source code must retain the above copyright
 #     notice, this list of conditions and the following disclaimer.
 #
 #  2. Redistributions in binary form must reproduce the above copyright
 #     notice, this list of conditions and the following disclaimer in the
 #     documentation and/or other materials provided with the distribution.
 #
 #  3. The name of the author may not be used to endorse or promote products
 #     derived from this software without specific prior written permission.
 #
 #  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 #  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES
 #  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 #  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 #  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 #  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE,
 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 #  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #  ====================================================================
 #

#
#   APP: mksr
#   ORIGIN: August 1999
#
#   VERSION NUMBER
$ver = "ver 0.0.5";

#   Last Modified: November 2000
#
#   Auth: Marcus Kazmierczak
#         marcus@mkaz.com
#         http://blazonry.com/perl/
#
#   DESC: Search and Replace
#

print "\nmksr Search and Replace    $ver\n";
print "Marcus Kazmierczak, marcus\@mkaz.com\n\n";

# TODO LIST
#
# - ADD Recursion Option

    ## REQUIRED CPAN MODULES ##
    # File::Recurse Module bundled with File-Tools 2.0
    # download from CPAN site
(http://www.perl.com/CPAN//modules/by-module/File/)
    # use File::Recurse;
    ####


my $find = $ARGV[0];
my $replace = $ARGV[1];
my $glob = $ARGV[2];

@filelist = <*$glob>;

if ( (!$find) || (!$replace) || (!$glob) ) {
    print "Search and replace recursively through the current directory\n";
    print "replacing <find> with <replace> in each file specified.\n";
    print "To use wildcards leave off the * Ex: '.txt' \n\n";
    print "    mksr <find> <replace> <file>\n";

    exit(0);
}


# process each file in file list
foreach $filename (@filelist) {

    print "    P: $filename\n";

    # retrieve complete file
    open (IN, "$filename") || die("Error Reading File: $filename $!");
    {
        undef $/;
        $infile = <IN>;
    }
    close (IN) || die("Error Closing File: $filename $!");

    $infile =~ s/$find/$replace/g;


    # write complete file
     open (PROD, ">$filename") || die("Error Writing to File: $filename
$!");
     print PROD $infile;
     close (PROD) || die("Error Closing File: $filename $!");

}

   print "\nFinished.\n";


   exit(0);


----- Original Message ----- 
From: "Andrey Rahmatullin" <wrar@altlinux.ru>
To: <community@altlinux.ru>
Sent: Wednesday, April 20, 2005 5:28 PM
Subject: Re: [Comm] Re: [JT] Поиск и замена


> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> https://lists.altlinux.ru/mailman/listinfo/community



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2005-04-20 13:56 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-19 12:20 ` [Comm] Поиск и замена Eugene A. Suchkov
2005-04-19 12:32 ` Alexey Rusakov
2005-04-19 12:51   ` Дорогов Николай
2005-04-19 12:52     ` Alexey Rusakov
2005-04-19 13:08       ` [Comm] [JT] " Michael Isachenkov
2005-04-19 13:12         ` Re[2]: " Anton Gorlov
2005-04-19 13:18           ` Michael Isachenkov
2005-04-19 13:13         ` Olvin
2005-04-19 13:21         ` Alexey Rusakov
2005-04-19 14:02           ` Michael Isachenkov
2005-04-19 14:53         ` [Comm] " Michael Shigorin
2005-04-19 16:45           ` Michael Isachenkov
2005-04-19 17:06             ` Michael Shigorin
2005-04-19 17:10               ` Michael Isachenkov
2005-04-19 21:32               ` Olvin
2005-04-20 12:09                 ` Michael Shigorin
2005-04-20 13:28           ` Andrey Rahmatullin
2005-04-20 13:56             ` Дорогов Николай
2005-04-19 12:55     ` [Comm] " Nick S. Grechukh

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git