두 텍스트를 비교해야 하는데 diff가 없다면?

speed-racer의 이미지

1. 두 텍스트파일을 열어서 하나는 왼쪽에 다른 하나는 오른쪽에 둡니다.

2. 두 눈알을 중앙으로 모으면 두 텍스트가 겹칩니다. (매직아이와는 반대방향)

3. 바이오diff완성!

iamt의 이미지

brief

txt = [open('a.txt').read(), open('b.txt').read() ]
if txt[0] == txt[1] : print 'same.' 

---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

klyx의 이미지

그건 단순히 내용이 같은지 다른지만 비교할뿐, 어디가 다른지까진 안보여주지요.
본문에 적힌거 한번 해보세요. 다른 부분이 반짝반짝 거려요.

iamt의 이미지

t = [open('aa.txt').read(), open('bb.txt').read() ]
if len(t[0]) > len(t[1]) : t = [ t[1], t[0] ]
for x in range(len(t[0])):
   if(t[0][x] != t[1][x]) : print x, t[0][x], t[1][x]
print 'Longer reminder are..' ,t[1][len(t[0]):]

a.txt
this is johnson

b.txt
this is haemi

IDLE 2.6.4      ==== No Subprocess ====
>>> 
8 h j
9 a o
10 e h
11 m n
12 i s
Longer reminder are.. ons
>>> 

---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

planetarium의 이미지

대강 다르다 싶긴 하지만... 소스가 열줄만 되어도 뭐가 뭔지 인간의 눈으로 파악하긴 힘들것 같은데요.
역시 bio diff 쪽이... 크크크크.
전 매직아이를 못합니다. 설치하고 싶은데 의존성 문제가 걸리는듯 해요.

jeeyoungk의 이미지

사실 본격적인 diff 프로그램을 짤려면 longest common substring matching 을 풀어야조... 그냥 루프돌아서 비교해선 중간에 한줄만 더해저도 그다음부터는 다 다르다고 나와버리니까요.

참고 - http://en.wikipedia.org/wiki/Longest_common_subsequence_problem

iamt의 이미지

sub string까지 고려하면 10줄이 넘어가는건 당연지사겠죠..

게다가 파이썬은 들여쓰기에 민감한 문법체계니 더심하겠구요.

또 짜볼까.. 했는데 그냥 GG...
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)

aero의 이미지

diff가 없는곳에 python이 있을리가 :)

jeeyoungk의 이미지

솔직히 diff 가 없는곳에는 gcc 가 있을꺼같지도 않으니, 그냥 biodiff 가 답인거 같습니다.

snowall의 이미지

이런걸 휴리스틱 하다고 하는 건가요? ㅋㅋ

--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

ifree의 이미지

일반 diff 는 내용의 동일성만 분별하는데 비해,
바이오diff는 폰트의 차이까지 알아내는군요.

sloth_의 이미지

감사합니다

나는오리의 이미지

좋...좋은 방법입니다.
하지만 왠지 부작용이 클것같아요.

100만 사시 양성설(응?)

jj의 이미지

rm -f *

엇? 퇴근하겠습니다;;;

--
Life is short. damn short...

--
Life is short. damn short...