Powershell so sánh hai tệp html

Nếu trước đây bạn đã cố gắng tìm khác biệt các tệp trong PowerShell, bạn có thể đã thấy lệnh ghép ngắn So sánh đối tượng. Lệnh ghép ngắn So sánh-Đối tượng cho phép bạn so sánh hai bộ mục, cung cấp cho bạn báo cáo về sự khác biệt giữa hai bộ đó

PS G:\lee\tools> cd c:\temp
PS C:\temp> $set1 = "A","B","C"
PS C:\temp> $set2 = "C","D","E"
PS C:\temp> Compare-Object $set1 $set2

InputObject SideIndicator
----------- -------------
D           =>
E           =>
A            Compare-Object [Get-Content files.txt] [Get-Content files2.txt] |
    Sort { $_.InputObject.ReadCount }

InputObject                                                      SideIndicator
-----------                                                      -------------
-a---        11/26/2013   9:52 PM          0 files.txt       .. 
-a---        11/26/2013   9:52 PM          0 files2.txt      .. =>

Nếu bạn muốn đầu ra đẹp hơn một chút và làm cho cú pháp rõ ràng hơn, hãy để tôi giới thiệu So sánh tệp

Một trong những khái niệm mà chúng tôi đã viết đi viết lại nhiều lần trên blog này là nguyên tắc cơ bản và cách so sánh trạng thái hiện tại của hệ thống với ảnh chụp nhanh đã biết về cùng thuộc tính của hệ thống. Ví dụ: nếu chúng tôi có một máy chủ với 10 dịch vụ đang chạy trên đó hôm nay và ngày mai chúng tôi kiểm tra hệ thống và phát hiện ra rằng có 11 dịch vụ đang chạy, thì có điều gì đó không ổn. Theo câu nói bất hủ của Sesame Street, “Một trong những thứ này không giống những thứ khác. Một trong những thứ này không giống nhau…”

Vì vậy, giả sử bạn có một đường cơ sở được tạo cho một số thuộc tính của hệ điều hành. Bạn sẽ tiến hành so sánh ảnh chụp nhanh bạn đã chụp trước đó và ảnh bạn vừa chụp như thế nào? . Nếu chúng là ảnh chụp nhanh nhị phân thì chúng ta có một loạt vấn đề khác cần phải lo lắng. Nhưng giả sử hai ảnh chụp nhanh là đầu ra của cùng một lệnh [chỉ được thực hiện vào một thời điểm khác] và đầu ra dựa trên văn bản, thì chúng ta đang kinh doanh

Nếu bạn đang làm việc với hệ thống Unix/Linux, thì chắc chắn bạn sẽ tìm đến tiện ích DIFF mạnh mẽ. Nó đã tồn tại mãi mãi và nó là mục yêu thích của quản trị viên hệ thống

Với Microsoft PowerShell mặc dù chúng tôi phải đưa ra quyết định. Nhị phân DIFF không khả dụng trong PowerShell [mặc dù có bí danh DIFF]. Tuy nhiên, có hai lệnh được tích hợp sẵn trong Windows và đã có sẵn kể từ thời của CMD. EXE. Hai lệnh tích hợp này là FC. EXE và COMP. EXE. Thật không may, cả hai đều có xu hướng không đáng tin cậy và cho kết quả lạ khi sử dụng chúng để tạo nền. Vậy chúng ta có thể làm gì khác?

Rất may, PowerShell đã giới thiệu lệnh ghép ngắn COMPARE-OBJECT [và vâng, như bạn đoán, DIFF là bí danh của lệnh ghép ngắn này]. Với PowerShell, bạn có thể lấy hai đối tượng, đưa chúng vào SO SÁNH-ĐỐI TƯỢNG và nó sẽ cho bạn so sánh giữa hai đối tượng. Các đối tượng này có thể là bất kỳ thứ gì, nhưng với mục đích của chúng tôi, chúng tôi sẽ tập trung vào các tệp văn bản. Nhưng không có gì để nói rằng bạn không thể so sánh tài khoản người dùng từ Active Directory, Registry Keys hoặc bất kỳ đối tượng nào khác

Cú pháp của lệnh là

Compare-object object1 object2

Tuy nhiên, có một gotcha. Nếu bạn so sánh hai tệp văn bản theo cách này, thì lệnh ghép ngắn sẽ chỉ nói: “Có, tên của tệp văn bản file1. txt và tệp2. txt khác nhau. ” Vì vậy, nếu bạn muốn so sánh nội dung của hai tệp văn bản thì cần thực hiện thêm một bước. Bạn phải giới thiệu lệnh ghép ngắn GET-CONTENT để so sánh nội dung của hai tệp. Do đó, cú pháp mới [và có thể sử dụng được] sẽ hoạt động như thế này

Compare-object [get-content file1.txt] [get-content file2.txt]

Kết quả của lệnh này sẽ hiển thị cho bạn chỉ báo bên về điểm khác nhau giữa hai tệp và văn bản được thêm vào tồn tại ở tệp nào trong hai tệp. Đó là một hệ thống dựa trên mũi tên hài hước, nhưng nó đủ dễ hiểu

Bây giờ bạn nên được thiết lập tất cả. Vì vậy, nếu bạn đã có thói quen căn cứ vào hệ thống của mình, thì các lệnh này có thể hữu ích khi bạn đang cố gắng tự động hóa việc so sánh giữa hai ảnh chụp nhanh. Tiếp theo, bạn có thể muốn tự động hóa mọi thứ hơn nữa với tiện ích email dòng lệnh [tôi thích các khả năng PowerShell tích hợp sẵn

Có lệnh khác trong PowerShell không?

Đối tượng khác biệt . một tiện ích PowerShell Cmdlet để khám phá sự khác biệt của đối tượng. Bạn có thể sử dụng Đối tượng so sánh của PowerShell để làm điều đó, nhưng không phải lúc nào nó cũng đủ hữu ích cho các đối tượng cơ sở dữ liệu. Phil Factor giải thích cách Diff-Object của anh ấy hoạt động trong bài đăng này.

SideIndicator trong PowerShell là gì?

SideIndicator hiển thị đầu ra thuộc về đối tượng đầu vào nào . Các ví dụ sau đây cho thấy các loại đầu ra khác nhau. Sao chép PowerShell.

Lệnh PowerShell nào được sử dụng để so sánh sự khác biệt giữa nội dung của hai hoặc nhiều nội dung?

So sánh đối tượng trong PowerShell được sử dụng để so sánh hai đối tượng. Các đối tượng có thể là một nội dung biến, hai tệp, chuỗi, v.v. Lệnh ghép ngắn này sử dụng một số cú pháp để hiển thị sự khác biệt giữa các đối tượng được gọi là chỉ báo phụ. => - Khác biệt về đối tượng đích.

Chủ Đề