<?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=28796&amp;type=atom" />
	<updated>2013-06-24T20:16:52Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=28796</id>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351488#p351488" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>-=Serj=-⇓ пишет:</cite><blockquote><p>Она хоть и побайтово сравнивает, но ведь всё-равно сравнивает полностью, нет?</p></blockquote></div><p>нет... до первого различия...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2013-06-24T20:16:52Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351488#p351488</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351484#p351484" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Macumazan пишет:</cite><blockquote><div class="codebox"><pre><code>cmp --help</code></pre></div><p>не тоже самое ли?</p></blockquote></div><p>Она хоть и побайтово сравнивает, но ведь всё-равно сравнивает полностью, нет? <br /></p><div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>уйди со своим питоном отсюда =)</p></blockquote></div><p>Всё-всё, улетучиваюсь <img src="https://linuxforum.ru/img/smilies/ag.gif" alt="ag" /></p>]]></content>
			<author>
				<name><![CDATA[-=Serj=-]]></name>
				<uri>https://linuxforum.ru/profile.php?id=16175</uri>
			</author>
			<updated>2013-06-24T19:58:33Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351484#p351484</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351479#p351479" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>-=Serj=-⇓ пишет:</cite><blockquote><p>Могу предложить такой велосипед</p></blockquote></div><p>уйди со своим питоном отсюда =)</p><div class="quotebox"><cite>Macumazan⇓ пишет:</cite><blockquote><p>cmp --help<br />не тоже самое ли?</p></blockquote></div><p>спасибо... и как я только мог в своё время её проглядеть о_О</p><div class="quotebox"><cite>ELE©TRO-NI©⇓ пишет:</cite><blockquote><p>: Permission deniedcannot create /dev/null</p></blockquote></div><p>странно это.... что за линукс/девайс?</p><p>можно использовать вместо него /dev/zero, если есть....</p><p>всегда(почти всегда) можно создать: <strong>mknod /dev/null с 1 3</strong><br />если /dev на реальной ФС, то останется там навсегда (или до перепрошивки, если дело на роутере), если /dev временный, то до перезагрузки...</p><div class="quotebox"><cite>ELE©TRO-NI©⇓ пишет:</cite><blockquote><p>dd if=/dev/mtdblock/0 of=/var/mtd0<br />diff /var/mtd0 /media/DISK_A1/mtd0 &gt;/dev/null<br /> if [ &quot;$?&quot; = &quot;0&quot; ]; then</p></blockquote></div><p>можно так: <strong>if ! diff /var/mtd0 /media/DISK_A1/mtd0 &gt;/dev/null; then; then &lt;бла-бла-бла&gt;; fi</strong><br />и даже без dd: <strong>diff /dev/mtdblock/0 /media/DISK_A1/mtd0 &gt;/dev/null</strong><br />и вместо diff&#039;а лучше cmp применять, раз уж о нём упомянули... + с ключом -s можно отказаться от /dev/null</p><div class="quotebox"><cite>ELE©TRO-NI©⇓ пишет:</cite><blockquote><p>не пойму в чём дело. Роутер ругается</p></blockquote></div><p>chmod +x забыл небось...<br />так и думал, что речь о каком-то ущербном роутере...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2013-06-24T19:32:27Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351479#p351479</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351478#p351478" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#!/bin/sh

MOUNT=&quot;/media/DISK_A1/system&quot;

export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib

start() {
dd if=/dev/mtdblock/0 of=/var/mtd0
diff /var/mtd0 /media/DISK_A1/mtd0
if [ &quot;$?&quot; = &quot;0&quot; ]; then 
logger &quot;All OK&quot; 
else
dd if=/media/DISK_A1/mtd0 of=/dev/mtdblock/0
logger &quot;Error&quot;
date &gt;&gt; /media/DISK_A1/error.txt
    fi
}


case &quot;$1&quot; in
    start)
        start
        ;;
    stop)
        ;;
    restart)
        start
    ;;
    *)
    echo &quot;Usage: $0 {start|stop|restart}&quot;
    ;;
esac</code></pre></div><p>не пойму в чём дело. Роутер ругается </p><div class="codebox"><pre><code>/media/DISK_A1/system/etc/init.d # ./S91diffuboot
-ash: ./S91diffuboot: not found</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ELE©TRO-NI©]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30639</uri>
			</author>
			<updated>2013-06-24T19:26:15Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351478#p351478</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351323#p351323" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>cmp --help</code></pre></div><p>не тоже самое ли?</p>]]></content>
			<author>
				<name><![CDATA[Macumazan]]></name>
				<uri>https://linuxforum.ru/profile.php?id=952</uri>
			</author>
			<updated>2013-06-23T19:37:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351323#p351323</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351285#p351285" />
			<content type="html"><![CDATA[<p>сам скрипт </p><div class="codebox"><pre><code>#!/bin/sh
dd if=/dev/mtdblock/0 of=/var/mtd0
diff /var/mtd0 /media/DISK_A1/mtd0 &gt;/dev/null
 if [ &quot;$?&quot; = &quot;0&quot; ]; then
    exit
 else
    dd if=/media/DISK_A1/mtd0 of=/dev/mtdblock/0
    logger &quot;Flashing U-boot&quot;
    date &gt;&gt; /media/DISK_A1/loguboot.txt
    fi
exit</code></pre></div><p> проблема </p><div class="codebox"><pre><code>/media/DISK_A1/system/etc # sh diffuboot
384+0 records in
384+0 records out
: Permission deniedcannot create /dev/null
diffuboot: line 11: syntax error: end of file unexpected (expecting &quot;then&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[ELE©TRO-NI©]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30639</uri>
			</author>
			<updated>2013-06-23T15:06:00Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351285#p351285</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351275#p351275" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>как сделать, чтобы diff не искал все различия до победного конца, а вылетал при первом же найденном различии?</p></blockquote></div><p>Как я понял, проблема в обработке больших файлов?<br />Ключик у diff я не нашёл... Могу предложить такой велосипед <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /><br /></p><div class="codebox"><pre><code>#!/usr/bin/env python
#_*_ coding: utf-8 _*_

from itertools import izip

with open(&#039;file1.txt&#039;, &#039;r&#039;) as f1, open(&#039;file2.txt&#039;, &#039;r&#039;) as f2:
    for line1, line2 in izip(f1, f2):
        if line1 != line2:
            print (&quot;***%s\n***%s&quot; %(line1, line2))
            break</code></pre></div>]]></content>
			<author>
				<name><![CDATA[-=Serj=-]]></name>
				<uri>https://linuxforum.ru/profile.php?id=16175</uri>
			</author>
			<updated>2013-06-23T13:54:00Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351275#p351275</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351259#p351259" />
			<content type="html"><![CDATA[<p>а вот интересный вопрос: <br />как сделать, чтобы diff не искал все различия до победного конца, а вылетал при первом же найденном различии?</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2013-06-23T12:41:38Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351259#p351259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351237#p351237" />
			<content type="html"><![CDATA[<p>Читаем man diff на предмет кодов возврата, откуда узнаём, что при несовпадении код возврата 1.<br />Читаем man bash на предмет условных операторов и способов проверки условий, а равно на предмет перенаправления вывода вникуда.<br />Применяем прочитанное на практике.</p>]]></content>
			<author>
				<name><![CDATA[bormant]]></name>
				<uri>https://linuxforum.ru/profile.php?id=732</uri>
			</author>
			<updated>2013-06-23T10:19:44Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351237#p351237</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351186#p351186" />
			<content type="html"><![CDATA[<p>Ох и кривой же скриптик. Это вам учебное задание такое что ли?</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2013-06-22T19:10:56Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351186#p351186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[простенький скрипт для сравнения файлов]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=351181#p351181" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#!/bin/sh

MOUNT=&quot;/media/DISK_A1/system&quot;

export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib

start() {
    dd if=/dev/mtdblock/0 of=/media/DISK_A1/mtd0.bin 
    [color=red]diff /media/DISK_A1/mtd0.bin /media/DISK_A1/mtd0 если не совпадает [/color]
    dd if=/media/DISK_A1/mtd0 of=/dev/mtdblock/0
}


case &quot;$1&quot; in
    start)
        start
        ;;
    stop)
        ;;
    restart)
        start
    ;;
    *)
    echo &quot;Usage: $0 {start|stop|restart}&quot;
    ;;
esac</code></pre></div><p>как можно сделать так чтобы выполнилась следующая команда если файлы не совпадают?</p>]]></content>
			<author>
				<name><![CDATA[ELE©TRO-NI©]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30639</uri>
			</author>
			<updated>2013-06-22T18:18:56Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=351181#p351181</id>
		</entry>
</feed>
