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ộ đó Show
Từ đầu ra này, chúng ta có thể thấy rằng “A” và “B” chỉ hiển thị trong $set1, trong khi “D” và “E” chỉ hiển thị trong $set2. Đối với tập hợp đối tượng, đây là tất cả những gì bạn cần biết Tuy nhiên, một “tập hợp đối tượng” phổ biến mà mọi người muốn so sánh là các dòng trong tệp văn bản. Khi bạn so sánh các dòng trong một tệp, bạn thường không quan tâm đến các dòng đã được thêm hoặc xóa. Bạn quan tâm đến vị trí chúng được thêm vào trong tệp – một tình huống thường được xử lý bởi một công cụ có mục đích đặc biệt như WinMerge, ExamDiff, WinDiff hoặc đơn giản là cổng khác biệt của Windows. người cũ Các công cụ so sánh tệp có mục đích đặc biệt có rất nhiều thủ thuật để so sánh các tệp một cách hiệu quả và hợp lý, nhưng PowerShell cho phép bạn triển khai so sánh tệp cơ bản thông qua một thủ thuật đặc biệt – nhận ra rằng lệnh ghép ngắn Get-Content gắn thẻ các đối tượng đầu ra của nó với số dòng mà chúng đến từ
Điều đó mang lại cho một lớp lót tiện lợi
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. |