| 10:22a |
Все мучаюсь со скриптингом Здравствуйте! Мне понадобилось написать программу, которая бы заменяла кусок файла, ограниченный словами "BEGIN" и "END" - другим файлом. Причем не просто, а каждая строка должна быть со смайликом в начале. sed не дает заменять много строк, на bash как-то сложно, awk я не знаю, попробовала Perl (см. под катом). Но как-то громоздко, никто не подскажет более компактное решение?
sub zamenit { my ($in, $replace, $out) = @_;
open ( IN , $in ) or die "%Error: $! $in\n" ; open ( OUT , ">$out" ) or die "%Error: $! $out\n" ;
while (<IN>) { last if /BEGIN/; print OUT $_; }
open (REPLACE, $replace) or die "%Error: $! $replace\n";
print OUT ":-) $_" while <REPLACE>;
close REPLACE;
while (<IN>) { last if /END/; }
print OUT $_ while <IN>;
close IN; close OUT; } |