so sánh 2 mảng, vd. csv


0

tôi muốn biết nếu có thể so sánh 2 danh sách thông qua shell. Các thiết lập:

Danh sách " A" với khoảng 6000 mục
Danh sách " B" với khoảng 300 mục

Có thể phát hiện wich là trùng lặp và wich là duy nhất trong " B"? Có cách nào để lưu những thứ đó trong một tập tin bổ sung không?

Cảm ơn


tôi có thể lưu chúng ở cả hai định dạng. csv chỉ với 1 cột hoặc txt
Curtis Timo Schmidt

Câu trả lời:


0

Nếu (như tôi giả sử) bạn muốn so sánh hai tệp ASCII / Text, bạn có thể sử dụng 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

Tôi không quen thuộc với vỏ. Tôi cần những lệnh nào để chỉ nhận các dòng trùng lặp?
Curtis Timo Schmidt

Điều này là không thể với công cụ đơn giản này, bạn chỉ có thể lưu đầu ra trong tệp mới. Hãy thử fc / N file1.txt file2.txt> comp.txt
duDE

tôi đã chơi xung quanh và tôi chỉ nhận được lỗi: (dịch) Đồng bộ hóa không thành công. Các tập tin quá khác nhau. Tôi nghĩ rằng đó là do sự khác biệt dòng lớn.
Curtis Timo Schmidt

Tôi cũng đã cố gắng, nó hoạt động tốt ... Tôi xin lỗi cho bạn! :(
duDE

1
Gì? Bạn đã hỏi câu trả lời với Shell, và sau đó nhận xét của bạn là bạn không biết cách sử dụng Shell ?? Hay tôi đã bỏ lỡ điều gì?
Dave
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.