Lệnh findstr trong Windows

Lệnh findstr tìm kiếm các mẫu văn bản trong các file. Để biết ví dụ về cách sử dụng lệnh này, vui lòng xem phần ví dụ bên dưới.

Cú pháp lệnh findstr

findstr [/b] [/e] [/l | /r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/f:<File>] [/c:<String>] [/g:<File>] [/d:<DirList>] [/a:<ColorAttribute>] [/off[line]] <Strings> [<Drive>:][<Path>]<FileName>[ ...]

Tham số

Tham số Mô tả
/b Phù hợp với mẫu văn bản nếu nó ở đầu dòng.
/e Phù hợp với mẫu văn bản nếu nó ở cuối dòng.
/l Xử lý chuỗi tìm kiếm theo nghĩa đen.
/r Xử lý chuỗi tìm kiếm dưới dạng cụm từ thông dụng. Đây là thiết lập mặc định.
/s Tìm kiếm thư mục hiện tại và tất cả các thư mục con.
/i Bỏ qua trường hợp các ký tự khi tìm kiếm chuỗi.
/x In các dòng khớp chính xác.
/v Chỉ in các dòng không chứa kết quả phù hợp.
/n In số dòng của mỗi dòng có kết quả phù hợp.
/m Chỉ in tên file nếu file có chứa đối sánh.
/o In offset ký tự trước mỗi dòng khớp.
/p Bỏ qua các file có các ký tự không thể in được.
/off[line] Không bỏ qua các file có thuộc tính ngoại tuyến được thiết lập.
/f:<File> Nhận danh sách file từ file được chỉ định.
/c:<String> Sử dụng văn bản được chỉ định làm chuỗi tìm kiếm theo nghĩa đen.
/g:<File> Nhận chuỗi tìm kiếm từ file được chỉ định.
/d:<DirList> Tìm kiếm danh sách thư mục được chỉ định. Mỗi thư mục phải được phân cách bằng dấu chấm phẩy (;), ví dụ dir1;dir2;dir3.
/a:<ColorAttribute> Chỉ định thuộc tính màu với hai chữ số thập lục phân. Hãy nhập color /? để biết thêm thông tin chi tiết.
<Strings> Chỉ định văn bản để tìm kiếm trong FileName. Cần thiết.
[<Drive>:][][ ...] Chỉ định vị trí và file hoặc các file để tìm kiếm. Yêu cầu ít nhất một tên file.
/? Hiển thị trợ giúp tại dấu nhắc lệnh.

Lưu ý

  • Tất cả các tùy chọn dòng lệnh findstr phải đứng trước StringsFileName trong chuỗi lệnh.
  • Cụm từ thông dụng sử dụng cả ký tự chữ và siêu ký tự để tìm mẫu văn bản, thay vì chuỗi ký tự chính xác. Ký tự chữ là một ký tự không có ý nghĩa đặc biệt trong cú pháp biểu thức chính quy - nó khớp với sự xuất hiện của ký tự đó. Ví dụ, chữ cái và số là ký tự chữ. Một metacharacter là một biểu tượng có ý nghĩa đặc biệt (một toán tử hoặc dấu tách) trong cú pháp biểu thức chính quy.

Bảng sau liệt kê các siêu ký tự mà lệnh findstr chấp nhận:

Metacharacter Giá trị
. Ký tự đại diện: Bất kỳ ký tự nào
* Lặp lại: 0 hoặc nhiều lần xuất hiện của ký tự hoặc lớp trước.
^ Vị trí dòng: Đầu dòng
$ Vị trí dòng: Cuối dòng
[class] Lớp ký tự: Bất kỳ một ký tự nào trong một tập hợp.
[^class] Lớp nghịch đảo: Bất kỳ một ký tự nào không nằm trong tập hợp.
[x-y] Phạm vi: Bất kỳ ký tự nào trong phạm vi được chỉ định.
\x Thoát: Sử dụng một siêu ký tự x
\<string Vị trí từ: Phần bắt đầu của từ
string> Vị trí từ: Phần cuối của từ

Các ký tự đặc biệt trong cú pháp biểu thức chính quy có sức mạnh nhất khi bạn sử dụng chúng cùng nhau. Ví dụ, sử dụng kết hợp ký tự đại diện (.) và ký tự lặp lại (*) sau để khớp với bất kỳ chuỗi ký tự nào:

.*

Sử dụng biểu thức sau như một phần của biểu thức lớn hơn để khớp với bất kỳ chuỗi nào bắt đầu bằng "b" và kết thúc bằng "ing":

b.*ing

Ví dụ

Sử dụng dấu cách để tách nhiều chuỗi tìm kiếm, trừ khi đối số được bắt đầu bằng tham số /c.

Để tìm kiếm "hello" hoặc "there" trong file x.y, hãy nhập:

findstr "hello there" x.y

Để tìm kiếm "hello there" trong file x.y, hãy nhập:

findstr /c:"hello there" x.y

Để tìm tất cả các lần xuất hiện của từ "Windows" (với chữ cái viết hoa ban đầu W) trong file Proposal.txt, nhập:

findstr Windows proposal.txt

Để tìm kiếm mọi file trong thư mục hiện tại và tất cả thư mục con chứa từ Windows, bất kể chữ cái đầu tiên viết hoa hay viết thường, hãy nhập:

findstr /s /i Windows *.*

Để tìm tất cả các lần xuất hiện của các dòng bắt đầu bằng "FOR" và phía trước không có hoặc có nhiều dấu cách (như trong vòng lặp chương trình máy tính), cũng như để hiển thị số dòng mà mỗi lần xuất hiện được tìm thấy, hãy nhập:

findstr /b /n /r /c:"^ *FOR" *.bas

Để tìm kiếm nhiều chuỗi trong một tập hợp các file, hãy tạo file văn bản chứa từng tiêu chí tìm kiếm trên một dòng riêng biệt. Bạn cũng có thể liệt kê các file chính xác mà bạn muốn tìm kiếm trong một file văn bản vừa tạo. Ví dụ, để sử dụng các tiêu chí tìm kiếm trong file Stringlist.txt, tìm kiếm các file được liệt kê trong Filelist.txt, sau đó lưu trữ các kết quả trong file Result.out, hãy nhập:

findstr /g:stringlist.txt /f:filelist.txt > results.out

Để liệt kê mọi file có chứa từ "computer" trong thư mục hiện tại và tất cả các thư mục con, bất kể chữ cái đầu được viết hoa hay viết thường, hãy nhập:

findstr /s /i /m "\<computer\>" *.*

Để liệt kê mọi file có chứa từ "computer" và bất kỳ từ nào khác bắt đầu bằng "comp", (chẳng hạn như "compliment" và "compete"), hãy nhập:

findstr /s /i /m "\<comp.*" *.*

Xem thêm:

Thứ Ba, 20/11/2018 12:05
52 👨 403