<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Копирование текста из файлов с одинаковым именем в другой файл]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17368&amp;type=atom" />
	<updated>2022-09-14T08:12:17Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17368</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Копирование текста из файлов с одинаковым именем в другой файл]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=154744#p154744" />
			<content type="html"><![CDATA[<p>Тему можно закрыть.</p>]]></content>
			<author>
				<name><![CDATA[viviancels]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42788</uri>
			</author>
			<updated>2022-09-14T08:12:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=154744#p154744</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Копирование текста из файлов с одинаковым именем в другой файл]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=154736#p154736" />
			<content type="html"><![CDATA[<p>Прочитал в интернете, что для моей цели удобен AWK. Но может, с задачей справится&nbsp; AutoHotkey.<br />Есть много папок, которые начинаются, например, так:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>[US001] слова числа символы<br />[US002] слова числа символы<br />[US003] слова числа символы<br />[USR001] слова числа символы<br />[USC001] слова числа символы</p></div></div><p>1) В этих папках есть файлы с одинаковым именем 123.txt, в каждом файле нужно скопировать весь текст, кроме двух последних строк. Также есть файл 555.txt, в который нужно все копировать содержимое файлов 123.txt. Условие такое: если название папки с файлом 123.txt начинается с [US001], то в файле 555.txt нужно найти строку, название которой также начинается с [US001], после этой строки найти блок текста, который много раз повторяется в этом файле, и в его середину, в пустую строку, вставить содержимое 123.txt кроме последних 2 пустых строк:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>слова числа символы.<br />слова числа символы.<br />слова числа символы.<br /><em>Начало блока: </em><br />слова числа символы[US001]слова числа символы .<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br /><em>Повторяющийся текст во всех блоках:</em><br /><strong>dasda-ds=afasd.<br />fsd]</strong></p><p><strong>fds]<br />sdfs-df=sd</strong><br />jhkhh-hjkh=faasda.<br />fsd]</p><p>fds]<br />sdfs-df=sd.<br />слова числа символы.<br /><em>Конец блока 1.</em></p></div></div><p>В середину жирного текста надо вставить текст, скопированный из файла 123.txt из папки, название которой начинается с [US001].</p><p>То же самое с папкой [US002], в которой также есть файл с таким же именем 123.txt, но с другим текстом внутри, который тоже нужно скопировать, кроме двух пустых последних строк, и вставить в файл 555.txt после блока, в котором есть [US002], в пустую строку в середине другого жирного текста:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><em>Блок 2:</em><br />слова числа символы[US001]слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br /><em>Повторяющийся текст во всех блоках:</em><br /><strong>dasda-ds=afasd.<br />fsd]</strong></p><p><strong>fds]<br />sdfs-df=sd</strong><br />jhkhh-hjkh=faasda.<br />fsd]</p><p>fds]<br />sdfs-df=sd.</p></div></div><p>2) В папках еще есть текстовые файлы 456.txt, в них нужно скопировать весь текст, кроме первых шести строк (пустых и непустых) и кроме последней пустой строки, так же в файле 555.txt найти строку, в которой есть [US002], вставить в середину другого повторяющегося абзаца, который идет сразу же следом за тем первым:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>jhkhh-hjkh=faasda.<br />fsd]</p><p>fds]<br />sdfs-df=sd.</p></div></div><p>Результат должен быть таким:</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>слова числа символы.<br />слова числа символы.<br /><em>Блок 1:</em><br />слова числа символы[US001]слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />dasda-ds=afasd.<br />fsd]<br /><strong>текст, скопированный из 123.txt из папки, название которой начинается с [US001].</strong><br />fds]<br />sdfs-df=sd.<br />jhkhh-hjkh=faasda.<br />fsd]<br /><strong>текст, скопированный из 456.txt из папки, название которой начинается с [US001].</strong><br />fds]<br />sdfs-df=sd.<br />слова числа символы.<br /><em>Конец блока 1.</em><br /><em>Блок 2:</em><br />слова числа символы[US002]слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />слова числа символы.<br />dasda-ds=afasd.<br />fsd]<br /><strong>текст, скопированный из 123.txt из папки, название которой начинается с [US002].</strong><br />fds]<br />sdfs-df=sd.<br />jhkhh-hjkh=faasda.<br />fsd]<br /><strong>текст, скопированный из 456.txt из папки, название которой начинается с [US002].</strong><br />fds]<br />sdfs-df=sd.<br />слова числа символы.<br /><em>Конец блока 2.</em></p></div></div><p>Пока я только нашел способ выделить текст в файлах 123 и 456 в awk. <br />123:<br /></p><div class="codebox"><pre><code>&#039;$1~/^f/,/=$/ {print}&#039;</code></pre></div><p>456:<br /></p><div class="codebox"><pre><code>&#039;NF{print s $0; s=&quot;&quot;; next} {s=s ORS}&#039;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[viviancels]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42788</uri>
			</author>
			<updated>2022-09-13T19:06:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=154736#p154736</id>
		</entry>
</feed>
