<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Вопрос : Типовая операция парсинга TXT файла]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10146&amp;type=atom" />
	<updated>2014-11-14T10:48:32Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10146</id>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88347#p88347" />
			<content type="html"><![CDATA[<p>Всем спасибо за ответы. Перечитал много инфы, что само собой полезно. <br />Но помогли решить задачу кардинально другим способом. На bash скрипте, на сервере, где лежит этот лог.<br />Может не в тему, но я отпишусь :</p><div class="codebox"><pre><code>#!/bin/bash
egrep -B 2  &quot;^[-r]+[-w]+[-x]+.*`date &#039;+%b %d&#039;`&quot; /bea/getOW2BPO.log</code></pre></div><p>может кому пригодится. На vbs у меня так и не получилось. Думаю, что рано или поздно я к этой теме еще вернусь. А пока так.</p><p>Всем привет!!!</p>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-14T10:48:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88347#p88347</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88331#p88331" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Прошу прощения, лог весь выкладывать не буду</p></blockquote></div><p>Ну, а у меня нет желания и есть печальный опыт обсуждения сферического коня в вакууме.</p><div class="quotebox"><blockquote><p>т.к. он объемный</p></blockquote></div><p>И сколь он занимает в архиве?</p><div class="quotebox"><blockquote><p>и ничего нового для понимания не даст.</p></blockquote></div><p>Вы берётесь судить о том, даст ли сие что-то мне для понимания или нет? Ну, коль Вам виднее…</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-14T05:24:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88331#p88331</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88310#p88310" />
			<content type="html"><![CDATA[<p>Может <a href="http://ru.wikipedia.org/wiki/Tail">tail </a>помежет. Для windows <a href="http://gnuwin32.sourceforge.net/packages/coreutils.htm">есть</a></p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2014-11-13T15:22:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88310#p88310</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88305#p88305" />
			<content type="html"><![CDATA[<p>Прошу прощения, лог весь выкладывать не буду, т.к. он объемный и ничего нового для понимания не даст.<br />Попробую объяснить еще раз, возможно не корректно написал ранее.<br />Задача :<br />есть файл с текстом :</p><p>Wed Nov 12 05:27:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Wed Nov 12 05:38:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Wed Nov 12 05:42:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Wed Nov 12 05:53:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37910497 Nov 12 05:46 bpo1498_111114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1433989 Nov 12 05:46 bpo1499_111114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314713 Nov 12 05:46 bpo_vip111114.csv<br />Wed Nov 12 05:57:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Wed Nov 12 06:08:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Wed Nov 12 06:12:01 MSK 2014<br />Thu Nov 13 03:53:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Thu Nov 13 03:57:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Thu Nov 13 04:08:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37379351 Nov 13 03:57 bpo1498_121114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1433125 Nov 13 03:57 bpo1499_121114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314763 Nov 13 03:57 bpo_vip121114.csv<br />Thu Nov 13 04:12:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Thu Nov 13 04:23:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Thu Nov 13 04:27:02 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />mget: *: no files found<br />mv: cannot stat `/bea/files/bpo/Output.tmp/*&#039;: No such file or directory<br />Thu Nov 13 04:38:01 MSK 2014</p><br /><p>из данного текста мне надо взять <strong>только последний блок </strong>:<br />Thu Nov 13 04:08:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37379351 Nov 13 03:57 bpo1498_121114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1433125 Nov 13 03:57 bpo1499_121114.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314763 Nov 13 03:57 bpo_vip121114.csv</p><p>и отправить его по почте (как, я уже знаю). Обязательно так, как я описал последний блок. Т.е. строки с : <br />время + REMOTE SYSTEM + список полученных файлов.<br />Есть разные варианты работы с текстовыми файлами, но ни один мне не подходит.<br />Просьба помочь. <br />Спасибо!!!</p>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-13T13:11:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88305#p88305</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88281#p88281" />
			<content type="html"><![CDATA[<p><strong>d_alexei</strong>, упакуйте образец <em>реального</em> лога в архив, выложите на RGhost. Укажите критерии отбора. <strong>Внятно</strong> объясните, что есть в Вашем понимании «последняя запись», ибо Вы копипастите одни и те же пять строк.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-13T09:48:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88281#p88281</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88276#p88276" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><div class="quotebox"><cite>d_alexei пишет:</cite><blockquote><p>...<br />как начать поиск с конца файла?<br />...</p></blockquote></div><p>d_alexei,</p><p>возможно, будет интересно:<br /><a href="http://forum.script-coding.com/viewtopic.php?id=4713">Построчное чтение текстовых файлов с конца</a></p></blockquote></div><p>а есть примеры чтения файла с использованием массива?</p>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-13T08:04:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88276#p88276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88275#p88275" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>А в чем проблема? Алгоритм простой<br />1. искать &quot;что-то&quot;<br />2. взять последнее</p></blockquote></div><p>п.1 реализуем.<br />п.2 вопрос?</p>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-13T07:55:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88275#p88275</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88274#p88274" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>d_alexei пишет:</cite><blockquote><p>...<br />как начать поиск с конца файла?<br />...</p></blockquote></div><p>d_alexei,</p><p>возможно, будет интересно:<br /><a href="http://forum.script-coding.com/viewtopic.php?id=4713">Построчное чтение текстовых файлов с конца</a></p>]]></content>
			<author>
				<name><![CDATA[Slav]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=16491</uri>
			</author>
			<updated>2014-11-13T07:54:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88274#p88274</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88273#p88273" />
			<content type="html"><![CDATA[<p>Задача :<br />найти все вхождения в файл лога типа :</p><p>Tue Nov 11 04:12:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37921836 Nov 11 04:09 **********.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1435144 Nov 11 04:09 ************.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314725 Nov 11 04:09 **************.csv<br />таких может быть несколько или сколько угодно много.</p><p>Взять последнюю запись и вывести (отправить почтой/смс, не важно) в виде, что нашел :<br />Tue Nov 11 04:12:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37921836 Nov 11 04:09 **********.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1435144 Nov 11 04:09 ************.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314725 Nov 11 04:09 **************.csv</p><p>обязательно с предшествующими строками <br />Tue Nov 11 04:12:01 MSK 2014<br />REMOTE SYSTEM: ================================================= </p><p>если есть вариант с запоминанием, то какой? хотя он довольно замороченный получатся. Есть варианты что-то попроще? Проблема в том, что файл с логом всегда дописывается. Если бы создавался всегда новый, то проблем таких бы не было.</p>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-13T07:53:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88273#p88273</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88271#p88271" />
			<content type="html"><![CDATA[<p>А в чем проблема? Алгоритм простой<br />1. искать &quot;что-то&quot;<br />2. взять последнее</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2014-11-13T07:34:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88271#p88271</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88270#p88270" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>как начать поиск с конца файла?</p></blockquote></div><p>Никак. Текстовый файл — файл последовательного доступа. Максимум возможного — запоминать размер, хранить в реестре или в файле, при очередном чтении пробовать делать «TextStream Skip &lt;Предыдущий размер&gt;».</p><p>Озвучьте задачу полностью. Возможно, получится использовать ADO.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-13T07:31:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88270#p88270</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Вопрос : Типовая операция парсинга TXT файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88267#p88267" />
			<content type="html"><![CDATA[<p>Всем привет!<br />Есть типовая операция парсинга тестового файла и поска в нем слов по маске. Все бы хорошо, но есть, возможно, не тривиальный вопрос : как начать поиск с конца файла?<br />Задача состоит в том, что периодически в файле появляются записи типа :<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37921836 Nov 11 04:09 ***********.csv<br />и надо найти такое последнее, что дописывалось в файл.<br />С начала файла ищет без проблем и выводит все, что есть. Но надо именно последнее. Так же таких строк, последних, может быть несколько. Типа :<br />Tue Nov 11 04:12:01 MSK 2014<br />REMOTE SYSTEM: ================================================= <br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; 37921836 Nov 11 04:09 ******.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp;1435144 Nov 11 04:09 **********.csv<br />-rw-rw----&nbsp; &nbsp; 1 11315&nbsp; &nbsp; 10041&nbsp; &nbsp; &nbsp; 314725 Nov 11 04:09 **********.csv <br />и строка с датой и временем так же нужна.</p><p>мой код : (тут есть лишнее, это мои вариации на разные мысли)</p><p>&nbsp; &nbsp; <br /></p><div class="codebox"><pre><code>    Set WshShell = CreateObject(&quot;WScript.Shell&quot;)
       Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;) 
&#039;---------------------------------------------------------------------------------------------
    Set f = FSO.OpenTextFile(&quot;c:\get.log&quot;,1, False) 
    Set f1 = FSO.OpenTextFile(&quot;c:\get.txt&quot; , 2, True) 

    word = &quot;.csv&quot;
        
boolFound = False

line = 0

        Do Until f.AtEndOfStream
            sw = f.ReadLine() 
            If InStr(1, sw, word) &lt;&gt; 0 Then
                boolFound = True 
                WScript.Echo &quot;sw = &quot; &amp; sw
            End If
        Loop
            f.Close 
    f1.Close </code></pre></div>]]></content>
			<author>
				<name><![CDATA[d_alexei]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30241</uri>
			</author>
			<updated>2014-11-13T07:24:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88267#p88267</id>
		</entry>
</feed>
