<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; простенький скрипт для сравнения файлов]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=28796</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=28796&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «простенький скрипт для сравнения файлов».]]></description>
		<lastBuildDate>Mon, 24 Jun 2013 20:16:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351488#p351488</link>
			<description><![CDATA[<div class="quotebox"><cite>-=Serj=-⇓ пишет:</cite><blockquote><p>Она хоть и побайтово сравнивает, но ведь всё-равно сравнивает полностью, нет?</p></blockquote></div><p>нет... до первого различия...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Mon, 24 Jun 2013 20:16:52 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351488#p351488</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351484#p351484</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (-=Serj=-)]]></author>
			<pubDate>Mon, 24 Jun 2013 19:58:33 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351484#p351484</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351479#p351479</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Mon, 24 Jun 2013 19:32:27 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351479#p351479</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351478#p351478</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (ELE©TRO-NI©)]]></author>
			<pubDate>Mon, 24 Jun 2013 19:26:15 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351478#p351478</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351323#p351323</link>
			<description><![CDATA[<div class="codebox"><pre><code>cmp --help</code></pre></div><p>не тоже самое ли?</p>]]></description>
			<author><![CDATA[null@example.com (Macumazan)]]></author>
			<pubDate>Sun, 23 Jun 2013 19:37:05 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351323#p351323</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351285#p351285</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (ELE©TRO-NI©)]]></author>
			<pubDate>Sun, 23 Jun 2013 15:06:00 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351285#p351285</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351275#p351275</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (-=Serj=-)]]></author>
			<pubDate>Sun, 23 Jun 2013 13:54:00 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351275#p351275</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351259#p351259</link>
			<description><![CDATA[<p>а вот интересный вопрос: <br />как сделать, чтобы diff не искал все различия до победного конца, а вылетал при первом же найденном различии?</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sun, 23 Jun 2013 12:41:38 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351259#p351259</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351237#p351237</link>
			<description><![CDATA[<p>Читаем man diff на предмет кодов возврата, откуда узнаём, что при несовпадении код возврата 1.<br />Читаем man bash на предмет условных операторов и способов проверки условий, а равно на предмет перенаправления вывода вникуда.<br />Применяем прочитанное на практике.</p>]]></description>
			<author><![CDATA[null@example.com (bormant)]]></author>
			<pubDate>Sun, 23 Jun 2013 10:19:44 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351237#p351237</guid>
		</item>
		<item>
			<title><![CDATA[Re: простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351186#p351186</link>
			<description><![CDATA[<p>Ох и кривой же скриптик. Это вам учебное задание такое что ли?</p>]]></description>
			<author><![CDATA[null@example.com (yars)]]></author>
			<pubDate>Sat, 22 Jun 2013 19:10:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351186#p351186</guid>
		</item>
		<item>
			<title><![CDATA[простенький скрипт для сравнения файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=351181#p351181</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (ELE©TRO-NI©)]]></author>
			<pubDate>Sat, 22 Jun 2013 18:18:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=351181#p351181</guid>
		</item>
	</channel>
</rss>
