나는 이것과 비슷한 게시물이 있다는 것을 알고있다 : here . 언급 한 명령을
사용해 보았지만 comp
하나는 “abcd”와 같은 데이터가 있고 다른 하나는 “abcde”와 같은 두 개의 파일이 있으면 파일의 크기가 다르다는 것입니다. 나는 그들이 정확히 다른 곳을 알고 싶었습니다. 유닉스에서 간단한 diff는 “abd”와 “abc”와 같은 것이 있으면 Windows의 comp 명령이 작동하는 행과 열을 알려줍니다. 그렇지 않다. 내가 이것에 사용할 수있는 아이디어가 있습니까?
답변
CMD 쉘 또는 배치 파일에서이를 실행하십시오.
FC file1 file2
FC
이진 파일을 비교하는 데 사용할 수도 있습니다.
FC /B file1 file2
답변
글쎄, Windows에서 나는 행복하게 diff
많은 다른 GNU 도구를 실행 합니다. cygwin으로 할 수는 있지만 개인적으로 GnuWin32 는 훨씬 가벼운 설치 경험이기 때문에 선호 합니다.
그래서 내 대답은 Windows에 해당하는 그 자체 diff
가 다른 것 diff
입니다!
답변
Winmerge에는 체크 아웃 할 가치 가있는 명령 줄 유틸리티 가 있습니다.
또한 필요한 것에 따라 그래픽 부분도 사용할 수 있습니다.
답변
또 다른 대안은 여기 에서 git을 다운로드하여 설치하는 것 입니다. 그런 다음에 경로를 추가 Git\bin\
하여에 PATH
변수입니다. 이것은 diff뿐만 아니라 Windows 명령 행에서 사용할 수있는 다른 많은 Linux 명령도 제공합니다.
PATH
컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하여 변수를 설정할 수 있습니다 . 그런 다음 화면 왼쪽에서 Advanced System Settings (고급 시스템 설정)를 클릭 할 수 있습니다. 팝업에서 환경 변수를 클릭 한 다음 사용자 변수에서 PATH 변수를 추가하거나 업데이트하십시오.Git\bin\
답변
FC는 제 경우에는 훌륭하게 작동합니다. 변경 된 줄만 원했기 때문에 도움이되지 않았습니다. FC는 파일 이름, 동일한 행 및 양자 비교와 같은 추가 데이터를 제공합니다.
>fc data.txt data.txt.bak
***** DATA.TXT
####09
####09
####09
***** DATA.TXT.BAK
####09
####08
####09
그러나 필자의 경우 변경 된 줄만 원했고 다른 헤더 나 데이터없이 해당 줄을 다른 파일로 내보내기를 원했습니다.
그래서 “findstr” 을 사용하여 파일을 비교했습니다.
findstr /V /G:data.txt.bak data.txt >DiffResult.txt
어디 :
data.txt.bak
오래된 파일의 이름입니다
data.txt
새 파일의 이름입니다
DiffResult.txt
변경된 데이터를 포함합니다. 즉 한 줄만 #### 09
답변
fc. fc는 Cygwin의 diff보다 큰 파일 (> 4GB)을 처리하는 것이 좋습니다.
답변
Powershell (Windows의 일부)도 있습니다. 빠르지는 않지만 유연합니다. 기본 명령은 다음과 같습니다. 더 나은 형식이 필요한 경우 사람들은 다양한 cmdlet 및 스크립트를 작성했습니다.
PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)
Windows의 일부는 아니지만 Visual Studio 개발자 인 경우 WinDiff (그래픽)와 함께 제공됩니다.
그러나 개인적으로 가장 좋아하는 것은 BeyondCompare이며, 비용은 $ 30입니다.