LINUX.ORG.RU

поиск и замена текста в файле

 


0

1

Помогите решить задачу, кому не трудно, желательно на bash или python.

Найти в файле file1 куски между символами > и < и имеющие вид:
$$* или $$** где * и ** - одна или две цифры после символа $

и последовательно заменить их на элементы массива случайных текстовых данных, записанных в файл file2:

cat file1

>$$1<случайныйтекст>$$2< ... >$$10<
cat file2

a1
a2
...
a10

Количество тех и других элементов равно.



Последнее исправление: carabo (всего исправлений: 2)

Ответ на: комментарий от sT331h0rs3

основная трудность - последовательная замена.

carabo
() автор топика

Не трудно, но на перле:

#!/usr/bin/perl
use warnings;
use strict;

my $str = join("\n",
  '>$$1<случайныйтекст>$$2< ... >$$10<',
  'вторая строка >$$11<',
  '');
my @arr = qw{ a1 a2 a10 a11 };

$str =~ s/>\$\$\d+</shift(@arr)/ge;
print $str;
exit;                       
на выходе имеем:
a1случайныйтекстa2 ... a10
вторая строка a11
Всякие open(file1) городить лень. :(

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