И еще задачка из яндекса
Jul. 13th, 2006 12:12 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как сравнить (просто узнать совпадают или не совпадают, список различий получать не требуется) два очень больших (таких, что команда 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
no subject
Date: 2006-07-17 06:29 am (UTC)no subject
Date: 2006-07-17 10:24 am (UTC)у них инженеры не знают комментированных адресов, из-за чего их скрипт падает.
не пропадать же добру...
no subject
Date: 2006-07-17 07:36 am (UTC)cmp A B
no subject
Date: 2006-07-17 10:24 am (UTC)no subject
Date: 2006-07-28 02:26 pm (UTC)no subject
Date: 2006-07-29 08:33 pm (UTC)