쉘을 통해 2개의 목록을 비교할 수 있는지 알고 싶습니다. 설정:
A
약 6000개의 항목이 있는 " "
목록 B
약 300개의 항목이 있는 " " 목록
" "에서 중복된 항목과 고유한 항목을 감지할 수 있습니까 B
? 추가 파일에 저장하는 방법이 있나요?
감사해요
답변1
(제 생각에) 두 개의 ASCII/텍스트 파일을 비교하려면 FC를 사용할 수 있습니다.
FC.exe
Compare the contents of two files or sets of files. Display any lines which do NOT match.
Syntax
FC /B pathname1 pathname2
FC [options] pathname1 pathname2
Key
/B : Perform a binary comparison.
options
/C : Do a case insensitive string comparison
/A : Displays only first and last lines for each set of differences.
/U : Compare files as UNICODE text files.
/L : Compares files as ASCII text. (default)
/N : Display line numbers (ASCII only)
/LBn: Limit the number of lines that will be read, "n" sets a maximum number
of consecutive differing lines after which the File Comparison will abort (resync failed)
When FC aborts then "n" number of mismatches will be shown.
default=100 lines.
/nnnn : Specify a number of consecutive lines that must match after a mismatch.
This can be used to prevent the display of the two files from getting
too out of sync
/T : Do not expand tabs to spaces.
/W : Compress white space (tabs and spaces) for comparison.
To compare sets of files, use wildcards in pathname1 and pathname2 parameters.
Powershell also has an Alias FC for the Format-Custom cmdlet, therefore to run the 'old' FC under powershell you need to explicitly run C:\windows\system32\fc.exe
To identify 2 identical files use this syntax:
FC file1.txt file2.txt | FIND "FC: no dif" > nul
IF ERRORLEVEL 1 goto :s_files_are_different