bestsource

Windows에서 diff 명령어에 해당하는 것은 무엇입니까?

bestsource 2023. 5. 14. 10:48
반응형

Windows에서 diff 명령어에 해당하는 것은 무엇입니까?

저는 이와 비슷한 게시물이 있다는 것을 알고 있습니다: 여기.
는 사해보았다니습용▁the를 사용해 보았습니다.comp언급한 것처럼 명령을 내립니다. 하지만 하나는 "abcd"와 같은 데이터가 있는 파일이고 다른 하나는 "abcde"와 같은 데이터가 있는 파일 두 개가 있으면 파일 크기가 서로 다릅니다.정확히 어디가 다른지 알고 싶었습니다.유닉스에서 단순한 diff는 내가 "abd"와 "abc"와 같은 것을 가지고 있다면 윈도우의 comp 명령이 어떤 행과 열에서 작동하는지 알려줍니다.그렇지 않은 경우.제가 이걸 위해 무엇을 사용할 수 있을까요?

CMD 셸 또는 배치 파일에서 실행:

FC file1 file2

FC이진 파일을 비교하는 데도 사용할 수 있습니다.

FC /B file1 file2

음, 나는 윈도우에서 행복하게 실행합니다.diff그리고 다른 많은 GNU 도구들.cygwin으로 할 수 있지만, 저는 개인적으로 GnuWin32가 훨씬 가벼운 설치 경험이기 때문에 더 선호합니다.

입니다.diff 아닌 다름아입니다.diff 자체 체자그!!

Winmerge에는 확인해 볼 만한 명령줄 유틸리티가 있습니다.

또한 필요한 부분에 따라 그래픽 부분도 사용할 수 있습니다.

다른 대안은 git를 다운로드하여 여기에 설치하는 것입니다.그러면 두 가지 옵션이 있습니다.

옵션 1(기본 설정)

Windows에서 기본 *nix 사용자처럼 Git Bash(위에서 설치)와 diff를 사용합니다.

옵션 2

합니다.Git\bin\의 신에게에.PATHdiff뿐만 할 수 있는 됩니다.이렇게 하면 윈도우즈 명령줄에서 사용할 수 있는 다른 많은 리눅스 명령도 얻을 수 있습니다.

▁the를 설정할 수 .PATH컴퓨터를 마우스 오른쪽 단추로 클릭하고 속성을 선택하여 변수를 선택합니다.그런 다음 화면 왼쪽에서 고급 시스템 설정을 클릭할 수 있습니다.합니다.Git\bin\

Gitdiff 문서화

제 경우 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 한 줄만 변경됩니다.

Windows(윈도우)의 일부인 Powershell도 있습니다.빠르지는 않지만 유연합니다. 기본 명령은 다음과 같습니다.사람들은 더 나은 포맷이 필요할 경우 이를 위해 다양한 cmdlet과 스크립트를 작성했습니다.

PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)

Windows의 일부는 아니지만 Visual Studio의 개발자인 경우 WinDiff(그래픽)가 함께 제공됩니다.

하지만 제가 개인적으로 가장 좋아하는 것은 비욘드 컴퍼(Beyond Compare)로, 가격은 30달러입니다.

fc.fc는 Cygwin의 diff보다 대용량 파일(> 4GB)을 더 잘 처리합니다.

DiffUtils가 가장 좋은 방법일 것입니다.이는 Windows와 동등한 차이입니다.

제가 알기로는 내장된 동등물은 없습니다.

COMP에서 오류가 발생하는 이유는 유틸리티가 비교 중인 파일의 크기가 동일하다고 가정하기 때문입니다.당신이 그것을 사용할 수 있다는 것을 극복하기 위해.'/n'비교할 줄 수를 지정할 수 있는 옵션입니다.(comp에서 지원하는 옵션을 입력하여 참조)'comp /?'명령행에서.명령은 다음과 같습니다.

C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c 

만약 당신이 COMP를 계속 사용하고 싶다면, 이것은 당신의 문제를 해결할 것입니다. 하지만 이것은 정말 큰 파일에 문제가 될 것입니다.

그래도comp선택사항이지만, 저는 그것이 원시적이고FC그게 더 나은 선택입니다.사용할 수 있습니다.FORFILES그리고.FC자주 파일이 필요한 경우에는 정말 좋은 파일 비교 유틸리티를 만들기 위해 함께 사용할 수 있습니다.

FC는 참조용으로 다음과 같이 사용됩니다.

C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"

당신이 볼 수 있는 많은 옵션들이 있습니다.'fc /?'이것이 도움이 되길 바랍니다.

저는 윈도우용 경량 그래픽 소프트웨어를 찾았는데, 이 소프트웨어는 부족할 때 유용할 것 같습니다.diff지휘권그것은 나의 모든 문제를 해결할 수 있습니다.

윈디프 http://www.grigsoft.com/download-windiff.htm

diff 명령에 해당하는 창은 fc(File Comapre) 명령입니다.

는 다음과 같습니다.
예html).
프롬프트 실행
file1Location fc file1Location file2Location 파일 형식:

동일한 항목에 대한 자세한 튜토리얼을 찾았습니다.

http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/

다음 도구가 정확히 당신에게 필요한 것인지 모르겠습니다.하지만 저는 특정 파일을 위해 온라인 도구를 사용하는 것을 좋아합니다.이렇게 하면 운영체제에 상관없이 사용할 수 있습니다.다음은 예입니다. diffchecker.com

하지만 제가 필요로 하는 경우, 제 프로젝트 파일의 변경 사항과 로그를 추적할 수 있는 가장 좋은 도구는 GIT입니다.만약 당신이 팀에서 일한다면, 당신은 당신의 서버에 약간의 레포 온라인을 가질 수도 있고, 그것을 비트버킷이나 Github과 함께 사용할 수도 있습니다.

누군가에게 도움이 되길 바랍니다.

만약 당신이 당신의 기계에 git을 설치했다면, 당신은 git 터미널을 열고 리눅스를 사용할 수 있습니다.diff정상적으로 명령합니다.

언급URL : https://stackoverflow.com/questions/6877238/what-is-the-windows-equivalent-of-the-diff-command

반응형