Celsus
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Прочитал в интернете, что для моей цели удобен AWK. Но может, с задачей справится AutoHotkey. Есть много папок, которые начинаются, например, так: [US001] слова числа символы [US002] слова числа символы [US003] слова числа символы [USR001] слова числа символы [USC001] слова числа символы 1) В этих папках есть файлы с одинаковым именем 123.txt, в каждом файле нужно скопировать весь текст, кроме двух последних строк. Также есть файл 555.txt, в который нужно все копировать содержимое файлов 123.txt. Условие такое: если название папки с файлом 123.txt начинается с [US001], то в файле 555.txt нужно найти строку, название которой также начинается с [US001], после этой строки найти блок текста, который много раз повторяется в этом файле, и в его середину, в пустую строку, вставить содержимое 123.txt кроме последних 2 пустых строк: слова числа символы. слова числа символы. слова числа символы. Начало блока: слова числа символы[US001]слова числа символы . слова числа символы. слова числа символы. слова числа символы. слова числа символы. слова числа символы. Повторяющийся текст во всех блоках: dasda-ds=afasd. fsd] fds] sdfs-df=sd jhkhh-hjkh=faasda. fsd] fds] sdfs-df=sd. слова числа символы. Конец блока 1. В середину жирного текста надо вставить текст, скопированный из файла 123.txt из папки, название которой начинается с [US001]. То же самое с папкой [US002], в которой также есть файл с таким же именем 123.txt, но с другим текстом внутри, который тоже нужно скопировать, кроме двух пустых последних строк, и вставить в файл 555.txt после блока, в котором есть [US002], в пустую строку в середине другого жирного текста: fds] sdfs-df=sd. слова числа символы. Конец блока 1. Блок 2: слова числа символы[US001]слова числа символы. слова числа символы. слова числа символы. слова числа символы. слова числа символы. слова числа символы. Повторяющийся текст во всех блоках: dasda-ds=afasd. fsd] fds] sdfs-df=sd jhkhh-hjkh=faasda. fsd] fds] sdfs-df=sd. 2) В папках еще есть текстовые файлы 456.txt, в них нужно скопировать весь текст, кроме первых шести строк (пустых и непустых) и кроме последней пустой строки, так же в файле 555.txt найти строку, в которой есть [US002], вставить в середину другого повторяющегося абзаца, который идет сразу же следом за тем первым: jhkhh-hjkh=faasda. fsd] fds] sdfs-df=sd. Результат должен быть таким : слова числа символы. слова числа символы. Блок 1: слова числа символы[US001]слова числа символы. слова числа символы. слова числа символы. слова числа символы. dasda-ds=afasd. fsd] текст, скопированный из 123.txt из папки, название которой начинается с [US001]. fds] sdfs-df=sd. jhkhh-hjkh=faasda. fsd] текст, скопированный из 456.txt из папки, название которой начинается с [US001]. fds] sdfs-df=sd. слова числа символы. Конец блока 1. Блок 2: слова числа символы[US002]слова числа символы. слова числа символы. слова числа символы. слова числа символы. dasda-ds=afasd. fsd] текст, скопированный из 123.txt из папки, название которой начинается с [US002]. fds] sdfs-df=sd. jhkhh-hjkh=faasda. fsd] текст, скопированный из 456.txt из папки, название которой начинается с [US002]. fds] sdfs-df=sd. слова числа символы. Конец блока 2. Пока я только нашел способ выделить текст в файлах 123 и 456 в awk. 123: Код: 456: Код: 'NF{print s $0; s=""; next} {s=s ORS}' |
| Всего записей: 364 | Зарегистр. 02-04-2011 | Отправлено: 19:30 12-09-2022 | Исправлено: Celsus, 07:48 14-09-2022 |
|