У меня есть несколько файлов с текстом ниже.
Содержимое файла 1:
Begin("tmp1","derived from file \"/disks/setup/ORIG_FILE1.txt\"");
Содержимое файла 2:
Begin("tmp1","derived from file \"/disks/setup/ORIG_FILE2.txt\"");
Содержимое файла 3:
Begin("tmp9","derived from file \"/disks/setup/ORIG_FILE4.txt\"");
и так далее .....
Есть ли в perl или sed какая-либо команда для поиска строки с "Begin" и в этой строке поиск по первой строке между "... "(т.е. в нашем случае" tmp1 ") и сохраните его в переменной, затем найдите последнюю строку между / .. \" "т.е. (здесь ORIG_FILE1.txt) и сохраните ее в переменной 2, а затем удалите".txt "из переменной 2, а затем замените переменную 1 переменной 2 и обновите файл.
Таким образом, выходные файлы будут выглядеть следующим образом:
Содержимое файла 1:
Begin("ORIG_FILE1","derived from file \"/disks/setup/ORIG_FILE1.txt\"");
Содержимое файла 2:
Begin("ORIG_FILE2","derived from file \"/disks/setup/ORIG_FILE2.txt\"");
Содержимое файла 3:
Begin("ORIG_FILE4","derived from file \"/disks/setup/ORIG_FILE4.txt\"");
и т. Д. *
Может кто-нибудь помочь мне, пожалуйстаздесь