<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Выборка из тектового файла]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=23740&amp;type=atom" />
	<updated>2012-08-16T20:58:30Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=23740</id>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293487#p293487" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>Это понятно. Но это я не столько безопасности ради, сколько 1) для контроля целостности принятого из сети файла, и 2) так узнаю о том, что локальные файлы устарели.</p></blockquote></div><p>1) для этого надо юзать ЭЦП<br />2) а для этого - дату.</p><p>Т.е. алгоритм такой:<br />1. читаем список файлов, и отбираем новые.<br />2. качаем новые.<br />3. проверяем ЭЦП скаченных файлов.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2012-08-16T20:58:30Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293487#p293487</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293325#p293325" />
			<content type="html"><![CDATA[<p>Это понятно. Но это я не столько безопасности ради, сколько 1) для контроля целостности принятого из сети файла, и 2) так узнаю о том, что локальные файлы устарели.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2012-08-16T09:29:52Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293325#p293325</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293318#p293318" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>Ну, мне кажется целесообразным проверять именно контрольную сумму.</p></blockquote></div><p>на самом деле, это всё ерунда. Надёжно проверять лишь ЭЦП от Патрега. md5 там лишь для контроля правильности записи CD/DVD и прочего такого (когда вы САМИ записывали диск, и следовательно злоумышленник не мог ничего испортить. А вот разные яндексы могут быть взломаны. Причём ничего не стоит сменить не только файл, но и md5)</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2012-08-16T08:17:15Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293318#p293318</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293260#p293260" />
			<content type="html"><![CDATA[<p>Про rsync знаю, это все в учебных целях, не более.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2012-08-16T03:10:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293260#p293260</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293259#p293259" />
			<content type="html"><![CDATA[<p>Ну, мне кажется целесообразным проверять именно контрольную сумму. Сейчас скрипт работает по такому алгоритму: скачиваем FILELIST.TXT, выбираем из него&nbsp; имена файлов, проверяем: если это каталог, то создаем его, если&nbsp; симлинк, то смотрим, на какой файл указывает, проверяем наличие и контрольную сумму этого файла, если все в порядке, копируем этот файл, иначе скачиваем. Если это файл, то тоже проверяем контрольную сумму, если все в порядке, копируем, иначе качаем. Предполагается, что на диске лежит старая current, из которой мы собираем файлы, не менявшиеся со времени последней проверки. Сам скриптик не бог весть какой сложный, как закончу - выложу. Сейчас времени нет с ним&nbsp; заниматься.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2012-08-16T03:08:22Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293259#p293259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293258#p293258" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>мне нужно поддерживать актуальность &quot;локального зеркала&quot;, ну и покрепче въехать в скриптинг <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p></blockquote></div><p>man rsync, достаточно одной команды, возможно в cron-е, тем более, что поддержка и на оф. зеркалах, и на mirror.yandex.ru есть. <br />Также, есть смысл глянуть mirror-slackware-current.sh от AlienBOB-а.</p>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2012-08-16T02:52:56Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293258#p293258</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=293254#p293254" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>yars пишет:</cite><blockquote><p>Ну, в принципе, да. Но, имхо, этот файл дает информацию в удобном для человека виде, а мне нужно поддерживать актуальность &quot;локального зеркала&quot;, ну и покрепче въехать в скриптинг</p></blockquote></div><p>лучше дату проверяйте.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2012-08-16T00:17:22Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=293254#p293254</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292586#p292586" />
			<content type="html"><![CDATA[<p>Я тоже чуть красоты навёл <span class="postimg"><img src="http://linuxforum.ru/extensions/bbcode_smiles/img/ab.gif" alt="http://linuxforum.ru/extensions/bbcode_smiles/img/ab.gif" /></span></p>]]></content>
			<author>
				<name><![CDATA[-=Serj=-]]></name>
				<uri>https://linuxforum.ru/profile.php?id=16175</uri>
			</author>
			<updated>2012-08-12T17:47:22Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292586#p292586</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292585#p292585" />
			<content type="html"><![CDATA[<p>yars, <br />поправил, так справляется.</p>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2012-08-12T17:41:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292585#p292585</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292584#p292584" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>bormant пишет:</cite><blockquote><p>Следить за изменениями просто: достаточно читать ChangeLog.txt</p></blockquote></div><p>Ну, в принципе, да. Но, имхо, этот файл дает информацию в удобном для человека виде, а мне нужно поддерживать актуальность &quot;локального зеркала&quot;, ну и покрепче въехать в скриптинг <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> <br /></p><div class="quotebox"><cite>bormant пишет:</cite><blockquote><p> с путём искать не пробовали?</p></blockquote></div><p>Попробую, спасибо!<br /></p><div class="quotebox"><cite>bormant пишет:</cite><blockquote><p>двойной rev зачем, cut -d&#039; &#039; -f5 разве не справляется?</p></blockquote></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"><div class="codebox"><pre><code>root
root

root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root

root </code></pre></div></div></div><p>UPD: А с конца выбрать текст легче...<br />И да, спасибо</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2012-08-12T17:40:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292584#p292584</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292583#p292583" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#!/usr/bin/env python
import sys
f = open(&#039;FILELIST.TXT&#039;, &#039;r&#039;)
for line in  f.readlines():
    if line.find(sys.argv[1])&gt;0:
        print(line.split()[7], line.split()[4])</code></pre></div>]]></content>
			<author>
				<name><![CDATA[-=Serj=-]]></name>
				<uri>https://linuxforum.ru/profile.php?id=16175</uri>
			</author>
			<updated>2012-08-12T17:39:25Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292583#p292583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292581#p292581" />
			<content type="html"><![CDATA[<p>Следить за изменениями просто: достаточно читать ChangeLog.txt. <br />Возвращаясь к вопросу: с путём искать не пробовали? Например,</p><div class="codebox"><pre><code>$ grep \\./CHECKSUMS.md5$ FILELIST.TXT
-rw-r--r--  1 root root    726680 2012-08-09 22:46 ./CHECKSUMS.md5</code></pre></div><p>даст одну нужную строку, а</p><div class="codebox"><pre><code>$ grep \\./CHECKSUMS.md5$ FILELIST.TXT | awk &#039;{print $5}&#039;
726680</code></pre></div><p>искомый размер.</p>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2012-08-12T17:17:44Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292581#p292581</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Выборка из тектового файла]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=292579#p292579" />
			<content type="html"><![CDATA[<p>Доброго времени!<br />Нужно вытащить из файла вида<br /></p><div class="codebox"><pre><code>drwxr-xr-x 11 root root      4096 2012-08-10 01:32 .
-rw-r--r--  1 root root     10188 2011-04-25 04:36 ./ANNOUNCE.13_37
-rw-r--r--  1 root root     20933 2006-10-02 04:36 ./BOOTING.TXT
-rw-r--r--  1 root root     15529 2012-08-05 15:40 ./CHANGES_AND_HINTS.TXT
-rw-r--r--  1 root root    726680 2012-08-09 22:46 ./CHECKSUMS.md5
-rw-r--r--  1 root root       198 2012-08-09 22:46 ./CHECKSUMS.md5.asc
-rw-r--r--  1 root root     17976 1994-06-10 02:28 ./COPYING
-rw-r--r--  1 root root     35147 2007-06-30 04:21 ./COPYING3
-rw-r--r--  1 root root     19531 2009-08-26 02:07 ./COPYRIGHT.TXT
-rw-r--r--  1 root root       616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r--  1 root root    150279 2012-08-10 01:32 ./ChangeLog.txt
-rw-r--r--  1 root root     33523 2008-12-08 18:12 ./FAQ.TXT
-rw-r--r--  1 root root    965411 2012-08-09 22:46 ./FILELIST.TXT
-rw-r--r--  1 root root      1565 2003-02-26 23:34 ./GPG-KEY
-rw-r--r--  1 root root    612107 2012-08-10 01:35 ./PACKAGES.TXT
-rw-r--r--  1 root root      9368 2011-04-21 23:38 ./README.TXT
-rw-r--r--  1 root root      3629 2012-07-13 16:27 ./README.initrd
-rw-r--r--  1 root root     34068 2011-04-08 15:15 ./README_CRYPT.TXT
-rw-r--r--  1 root root      8978 2011-04-08 15:16 ./README_LVM.TXT
-rw-r--r--  1 root root     17957 2011-03-15 18:32 ./README_RAID.TXT
-rw-r--r--  1 root root      3623 2011-04-25 04:57 ./RELEASE_NOTES
-rw-r--r--  1 root root     13855 2008-12-08 18:13 ./SPEAKUP_DOCS.TXT
-rw-r--r--  1 root root     17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT
-rw-r--r--  1 root root     58732 2010-05-18 21:47 ./Slackware-HOWTO
-rw-r--r--  1 root root      7017 2012-07-21 21:41 ./UPGRADE.TXT

...

-rw-r--r--  1 root root     16393 2012-07-06 21:13 ./usb-and-pxe-installers/usbimg2disk.sh  </code></pre></div><p>(файл - <a href="ftp://mirror.yandex.ru/slackware/slackware-current/FILELIST.TXT">ftp://mirror.yandex.ru/slackware/slackw … LELIST.TXT</a>) сведения о размере файла. С уникальными файлами отрабатывает на раз </p><div class="codebox"><pre><code>grep -e $name FILELIST.TXT | col | rev | cut -d&quot; &quot; -f4 | rev</code></pre></div><p>Но вот с неуникальными, типа CHECKSUMS.md5 grep честно возвращает все найденные совпадения. и мой скрипт впадает в ступор. Как получить размер файла? Спасибо заранее!<br />Вот проблемный кусок скрипта:<br /></p><div class="codebox"><pre><code>for i in $( cat &quot;$TMP/FILELIST.TXT&quot; | tail +7 | cut -d. -f2- ) ; do
    echo &quot;Checking: $i&quot;
    if [ -e &quot;$OLD$i&quot; ] ; then
        echo $i
        newsize=$( grep -e &quot;$i&quot; &quot;$TMP/FILELIST.TXT&quot; | col | rev | cut -d&quot; &quot; -f4 | rev )
        oldsize=$( grep -e &quot;$i&quot; &quot;$OLD/FILELIST.TXT&quot; | col | rev | cut -d&quot; &quot; -f4 | rev )
        echo &quot;Size of new file: $newsize, size of old file: $oldsize&quot;
    ...
    fi
...
done</code></pre></div><p>Нужно это, чтобы следить за обновлениями в current.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2012-08-12T16:54:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=292579#p292579</id>
		</entry>
</feed>
