ocehb: (Default)
[personal profile] ocehb
Как сравнить (просто узнать совпадают или не совпадают, список различий получать не требуется) два очень больших (таких, что команда diff говорит "memory exhausted" :) текстовых файла?


Если места на диске хватает:

split -l102400 A A.
split -l102400 B B.
for i in A.*; do
    diff -q $i B.${i##*.} || break
done
rm -f A.* B.*


Если места мало:

a=0
while true; do
    dd if=A of=A.out count=1024 skip=$[$a*1024]
    dd if=B of=B.out count=1024 skip=$[$a*1024]
    [ ! -s A.out -a ! -s B.out ] && break
    diff -q A.out B.out || break
    a=$[$a+1]
done
rm -f A.out B.out

(deleted comment)
(deleted comment)

Date: 2006-07-17 07:36 am (UTC)

Date: 2006-07-28 02:26 pm (UTC)
From: [identity profile] ex-svpv.livejournal.com
cmp -s -- exit status only.

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 15th, 2025 07:47 am
Powered by Dreamwidth Studios