1. 두 텍스트파일을 열어서 하나는 왼쪽에 다른 하나는 오른쪽에 둡니다.
2. 두 눈알을 중앙으로 모으면 두 텍스트가 겹칩니다. (매직아이와는 반대방향)
3. 바이오diff완성!
brief
txt = [open('a.txt').read(), open('b.txt').read() ] if txt[0] == txt[1] : print 'same.'
--------------------------------------------------------------------------------- C(++)과 php 펄등을 공부하고있습니다. 반갑습니다! 리눅스 :-)
그건 단순히 내용이 같은지 다른지만 비교할뿐, 어디가 다른지까진 안보여주지요. 본문에 적힌거 한번 해보세요. 다른 부분이 반짝반짝 거려요.
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 >>>
대강 다르다 싶긴 하지만... 소스가 열줄만 되어도 뭐가 뭔지 인간의 눈으로 파악하긴 힘들것 같은데요. 역시 bio diff 쪽이... 크크크크. 전 매직아이를 못합니다. 설치하고 싶은데 의존성 문제가 걸리는듯 해요.
사실 본격적인 diff 프로그램을 짤려면 longest common substring matching 을 풀어야조... 그냥 루프돌아서 비교해선 중간에 한줄만 더해저도 그다음부터는 다 다르다고 나와버리니까요.
참고 - http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
sub string까지 고려하면 10줄이 넘어가는건 당연지사겠죠..
게다가 파이썬은 들여쓰기에 민감한 문법체계니 더심하겠구요.
또 짜볼까.. 했는데 그냥 GG... --------------------------------------------------------------------------------- C(++)과 php 펄등을 공부하고있습니다. 반갑습니다! 리눅스 :-)
diff가 없는곳에 python이 있을리가 :)
솔직히 diff 가 없는곳에는 gcc 가 있을꺼같지도 않으니, 그냥 biodiff 가 답인거 같습니다.
이런걸 휴리스틱 하다고 하는 건가요? ㅋㅋ
-------------------------- 피할 수 있을때 즐겨라!http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
일반 diff 는 내용의 동일성만 분별하는데 비해, 바이오diff는 폰트의 차이까지 알아내는군요.
감사합니다
좋...좋은 방법입니다. 하지만 왠지 부작용이 클것같아요.
100만 사시 양성설(응?)
rm -f *
엇? 퇴근하겠습니다;;;
-- Life is short. damn short...
헐... 2줄만 치면 눈이 덜상할텐데 ㅠㅠ
brief
txt = [open('a.txt').read(), open('b.txt').read() ] if txt[0] == txt[1] : print 'same.'---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
그건 단순히 내용이
그건 단순히 내용이 같은지 다른지만 비교할뿐, 어디가 다른지까진 안보여주지요.
본문에 적힌거 한번 해보세요. 다른 부분이 반짝반짝 거려요.
아항.. 브리프 말고 비교까지 한다 이말씀이시군요..
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
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
대강 다르다 싶긴
대강 다르다 싶긴 하지만... 소스가 열줄만 되어도 뭐가 뭔지 인간의 눈으로 파악하긴 힘들것 같은데요.
역시 bio diff 쪽이... 크크크크.
전 매직아이를 못합니다. 설치하고 싶은데 의존성 문제가 걸리는듯 해요.
사실 본격적인 diff
사실 본격적인 diff 프로그램을 짤려면 longest common substring matching 을 풀어야조... 그냥 루프돌아서 비교해선 중간에 한줄만 더해저도 그다음부터는 다 다르다고 나와버리니까요.
참고 - http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
맞아요
sub string까지 고려하면 10줄이 넘어가는건 당연지사겠죠..
게다가 파이썬은 들여쓰기에 민감한 문법체계니 더심하겠구요.
또 짜볼까.. 했는데 그냥 GG...
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
---------------------------------------------------------------------------------
C(++)과 php 펄등을 공부하고있습니다.
반갑습니다! 리눅스 :-)
diff가 없는곳에 python이 있을리가 :)
diff가 없는곳에 python이 있을리가 :)
솔직히 diff 가
솔직히 diff 가 없는곳에는 gcc 가 있을꺼같지도 않으니, 그냥 biodiff 가 답인거 같습니다.
이런걸 휴리스틱
이런걸 휴리스틱 하다고 하는 건가요? ㅋㅋ
--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
일반 diff 는 내용의
일반 diff 는 내용의 동일성만 분별하는데 비해,
바이오diff는 폰트의 차이까지 알아내는군요.
좋은정보
감사합니다
좋...좋은
좋...좋은 방법입니다.
하지만 왠지 부작용이 클것같아요.
100만 사시 양성설(응?)
rm -f * 엇?
rm -f *
엇? 퇴근하겠습니다;;;
--
Life is short. damn short...
--
Life is short. damn short...