Programing

diff 명령에 해당하는 Windows 란 무엇입니까?

lottogame 2020. 3. 29. 08:40
반응형

diff 명령에 해당하는 Windows 란 무엇입니까?


나는 이것과 비슷한 게시물이 있다는 것을 알고있다 : 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\

힘내 diff 문서


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


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

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

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

그러나 개인적으로 가장 좋아하는 것은 BeyondCompare이며, 비용은 $ 30입니다.


fc. fc는 Cygwin의 diff보다 큰 파일 (> 4GB)을 처리하는 것이 좋습니다.


DiffUtils 는 아마도 가장 좋은 방법 일 것입니다. diff와 동등한 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명령이 부족한 경우 유용한 Windows 용 경량 그래픽 소프트웨어를 찾았습니다 . 내 모든 문제를 해결할 수 있습니다.

WinDiff http://www.grigsoft.com/download-windiff.htm


diff 명령과 동등한 창은 fc (File Comapre) 명령입니다.

여기에 그렇게 할 수있는 기본 단계 :
1. 폴더 (예 예 : file1.html 및 file2.html) 두 파일을 보관
2. 실행 명령 프롬프트
file1Location file2Location FC 3.를

동일한에 대한 자세한 자습서를 찾았습니다.

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


다음 도구가 귀사에 필요한지 잘 모르겠습니다. 그러나 특정 파일에는 온라인 도구를 사용하고 싶습니다. 이렇게하면 운영 체제에 관계없이 사용할 수 있습니다. 다음은 예입니다 : diffchecker.com

그러나 내 필요에 따라 프로젝트 파일의 변경 사항과 로그를 추적하는 가장 좋은 도구는 GIT이라고 생각합니다. 팀에서 일하는 경우 서버에서 온라인으로 리포지토리를 만들거나 Bitbucket 또는 Github와 함께 사용할 수 있습니다.

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


머신에 git을 설치했다면 git 터미널을 열고 Linux diff명령을 정상적으로 사용할 수 있습니다.

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

반응형

'Programing' 카테고리의 다른 글

처음 발생시 분할  (0) 2020.03.29
MySQL의 ROW_NUMBER ()  (0) 2020.03.29
세트를 변환하는 방법  (0) 2020.03.29
SELECT로 삽입  (0) 2020.03.29
브라우저가 캐시를 지우도록 강제  (0) 2020.03.29