Đối với những người chưa quen, công cụ tìm kiếm mẫu như seektr có vẻ vô dụng. Nhưng khi xử lý các tệp nhật ký do hệ thống tạo hoặc đầu ra dòng lệnh chứa hàng trăm dòng văn bản, seektr chính là công cụ bạn cần.
Người dùng hệ điều hành Linux hẳn đã quen thuộc với tiện ích đáng kinh ngạc của lệnh Grep và seektr hoàn thành vai trò tương tự trong Microsoft Windows. Bạn có thể kết hợp nó với các lệnh khác bằng cách sử dụng các đường dẫn hoặc chỉ chạy trực tiếp để phân tích cú pháp qua nhiều tệp văn bản. Hãy xem cách hoạt động của Findstr qua một số ví dụ.
Sử dụng lệnh Findstr
Cú pháp cơ bản rất đơn giản – seektr
findstr SFC example1.txt
Lệnh này sẽ tìm và xuất ra tất cả các dòng chứa chuỗi tìm kiếm SFC. Lưu ý rằng theo mặc định, seektr phân biệt chữ hoa chữ thường, vì vậy mọi đề cập đến SFC sẽ không khớp.
Thông số
Bạn có thể tùy chỉnh thêm cách hoạt động của Findstr bằng cách thêm các tham số tùy chọn. Các chuyển đổi như /B hoặc /I sửa đổi hành vi của seekstr, áp đặt các điều kiện bổ sung cho tìm kiếm. Ví dụ:
findstr /I SFC example1.txt
Việc bao gồm /I làm tham số sẽ làm cho trường hợp tìm kiếm không phân biệt chữ hoa chữ thường, cho phép tất cả các đề cập đến thuật ngữ khớp với nhau, bất kể cách viết hoa của chúng. Bạn có thể tìm thấy danh sách tất cả các tham số của seektr trong tài liệu chính thức của Microsoft.
Mẫu tùy chọn
Tham số không phải là cách duy nhất bạn có thể tùy chỉnh seektr. Ví dụ: việc đặt
tìm thấy “SFC DISM” example1.txt
Ở trên sẽ trả về các dòng phù hợp có chứa một trong hai thuật ngữ. Điều này hữu ích khi tìm kiếm đề cập đến một mục có tên khác.
Biểu thức chính quy
Findstr có khả năng tìm kiếm qua nhiều tệp. Việc thay đổi
tìm SFC *.txt
Việc sử dụng ký tự đại diện sẽ khớp biểu thức chính quy với tất cả các tệp văn bản trong thư mục hiện tại và các thư mục con của nó. Các kết quả cũng được phân tách theo tên tệp, cho phép bạn xem dòng nào bắt nguồn từ tệp nào.
Ống
Giống như hầu hết các lệnh cmd, seektr cũng có thể được sử dụng trên đầu ra của các lệnh khác. Chỉ cần thêm một đường ống sau khi kết thúc lệnh đích và gọi seekstr mà không cần
thư mục | seektr .txt
Thao tác này chạy tìm kiếm seektr trên đầu ra của lệnh dir, trả về danh sách tệp kết thúc bằng .txt. Tất nhiên, ví dụ cụ thể này vô dụng trong thực tế vì dir đã có thể định vị các tệp cùng loại bằng biểu thức chính quy.
Người ta cũng có thể sử dụng con đường dài hơn là chuyển hướng đầu ra sang một tập tin văn bản rồi sử dụng seektr trên tệp văn bản, nhưng việc loại bỏ người trung gian sẽ dễ dàng hơn.
Ứng dụng Findstr trong Windows
Công dụng rõ ràng của seekstr có thể thấy rõ chỉ từ cú pháp. Bạn có thể tìm kiếm các tệp văn bản có chuỗi văn bản cụ thể hoặc xem liệu một chuỗi cụ thể có được chứa trong tệp hay không.
Điều này, mặc dù hữu ích về mặt lý thuyết, nhưng hiếm khi được sử dụng ngoài những trường hợp hiếm gặp. Trong thời đại dịch vụ đám mây như Google Docs, hầu hết mọi người không còn có nhiều tệp văn bản nữa.
Các ứng dụng thực tế của seektr tinh tế hơn một chút và mang lại kết quả mạnh mẽ hơn. Dưới đây là một số ví dụ thú vị hơn.
Tìm các loại tệp cụ thể
Lệnh dir đã bao gồm tùy chọn tìm kiếm tên tệp bằng cách sử dụng biểu thức thông thường. Nhưng với seektr, bạn có thể tìm kiếm các tệp chia sẻ các thuộc tính khác, chẳng hạn như ngày hoặc giờ tạo.
Giả sử có lỗi xảy ra lúc 06:43 chiều và bạn muốn định vị tất cả các tệp nhật ký được tạo vào thời điểm đó. Chỉ với lệnh dir, bạn sẽ phải sàng lọc kết quả theo cách thủ công hoặc lấy tất cả các tệp nhật ký và so sánh chúng. Sử dụng seekstr, đây sẽ trở thành một lệnh đơn giản.
thư mục | phát hiện 06:43
Bạn có thể thử thủ thuật tương tự để tìm các tệp được tạo vào một ngày cụ thể hoặc lấy danh sách các thư mục.
thư mục | seektr TRỰC TIẾP
Lọc thông tin mạng bằng Netstat.
Netstat là một lệnh Windows tiện dụng cung cấp cho bạn tất cả thông tin về kết nối mạng trên máy tính của bạn—quá nhiều thông tin, đó chính là lúc seektr xuất hiện.
Đưa đầu ra của netstat vào seektr cho phép bạn tìm kiếm các kết nối có thuộc tính cụ thể. Ví dụ: đây là cách bạn có thể nhận được danh sách tất cả các kết nối đã thiết lập.
netstat | seektr ĐƯỢC THÀNH LẬP
Thủ thuật này hữu ích khi chẩn đoán sự cố mạng. Bạn thậm chí có thể sử dụng seekstr với PID ứng dụng để tìm tất cả các kết nối được mở bởi một quy trình cụ thể.
netstat -o | phát hiện 13120
Lấy địa chỉ IP cụ thể
Lệnh ipconfig cho phép bạn xem chi tiết về tất cả giao diện mạng của hệ thống, bao gồm cả địa chỉ IP. Bạn có thể sử dụng seekstr để trích xuất một loại địa chỉ IP cụ thể mà không cần phải cuộn qua toàn bộ.
ipconfig | seektr Tạm thời
Bạn có thể mở rộng phương pháp này để lấy bất kỳ thông tin nào từ ipconfig, từ mặt nạ mạng con đến địa chỉ cổng.
Phân tích tệp tập lệnh
Cho dù bạn viết mã bằng ngôn ngữ lập trình nào thì các tệp tập lệnh cuối cùng cũng chỉ là văn bản. Điều này có nghĩa là bạn có thể sử dụng seekstr để phân tích tập lệnh và truy xuất các phần cụ thể mà không cần xem xét toàn bộ mã.
Giả sử chúng ta muốn xem câu lệnh if đã được sử dụng như thế nào trong một tập lệnh cụ thể. Chúng ta có thể sử dụng lệnh sau:
findstr if script.ahk
Điều này không chỉ hiển thị các dòng sử dụng câu lệnh if mà còn hiển thị cho chúng ta các biểu thức được sử dụng. Bạn cũng có thể bao gồm tham số /N để hiển thị số dòng, rất tiện lợi cho các tệp tập lệnh.
findstr /N if script.ahk
Findstr có đáng sử dụng không?
Khó khăn chính khi điều hướng giao diện dòng lệnh là số lượng văn bản cần sàng lọc. Findstr là một công cụ thiết yếu để trích xuất thông tin hữu ích và lọc rác.
Vì tất cả các lệnh đầu cuối đều đưa ra kết quả dựa trên văn bản nên có thể sử dụng seekstr để định vị dữ liệu liên quan. Từ xử lý sự cố mạng đến việc tìm đúng tệp, mọi hành động đều được thực hiện hiệu quả hơn với seektr..
Ngay cả khi không có khả năng kết hợp với các lệnh khác, seektr vẫn hữu ích vì khả năng duyệt qua nội dung của tệp văn bản. Bạn có thể tìm thấy các lỗi cụ thể trong tệp nhật ký do máy tạo hoặc truy xuất các phần mã trong tập lệnh phức tạp.
Nói tóm lại, seektr là một công cụ không thể thiếu trong kho vũ khí của bất kỳ người dùng Windows nâng cao nào, đặc biệt là những người có ý định làm quen với giao diện dòng lệnh.
.