Làm cách nào để tôi có thể tìm một cách đệ quy tất cả các tệp trong thư mục hiện tại và thư mục con dựa trên đối sánh ký tự đại diện?

2060
john 2011-05-06 13:01.

Làm cách nào để tôi có thể tìm một cách đệ quy tất cả các tệp trong thư mục hiện tại và thư mục con dựa trên đối sánh ký tự đại diện?

16 answers

2990
tux21b 2011-05-06 13:03.

Sử dụng find cho điều đó:

find . -name "foo*"

findcần một điểm bắt đầu và .(dấu chấm) trỏ đến thư mục hiện tại.

233
Paul Whipp 2012-08-15 20:56.

Tìm đường ống vào grep thường thuận tiện hơn; nó cung cấp cho bạn toàn bộ sức mạnh của các biểu thức chính quy để đối sánh ký tự đại diện tùy ý.

Ví dụ: để tìm tất cả các tệp có chuỗi không phân biệt chữ hoa chữ thường "foo" trong tên tệp:

~$ find . -print | grep -i foo
160
IslandCow 2011-05-06 13:15.

find sẽ tìm thấy tất cả các tệp phù hợp với một mẫu:

find . -name "*foo"

Tuy nhiên, nếu bạn muốn có một bức tranh:

tree -P "*foo"

Hi vọng điêu nay co ich!

44
toddcscar 2017-01-14 16:47.
find -L . -name "foo*"

Trong một số trường hợp, tôi cần tham số -L để xử lý các liên kết thư mục tượng trưng. Theo mặc định, các liên kết tượng trưng bị bỏ qua. Trong những trường hợp đó, nó khá khó hiểu vì tôi sẽ thay đổi thư mục thành một thư mục con và thấy tệp phù hợp với mẫu nhưng tìm thấy sẽ không trả về tên tệp. Sử dụng -L giải quyết vấn đề đó. Các tùy chọn liên kết tượng trưng để tìm là -P -L -H

40
kenorb 2018-06-14 05:22.

fd

Trong trường hợp findquá chậm, hãy thử fdtiện ích - một giải pháp thay thế đơn giản và nhanh chóng để findviết bằng Rust.

Cú pháp:

fd PATTERN

Bản giới thiệu:

Trang chủ: https://github.com/sharkdp/fd

37
kenorb 2017-01-14 06:23.

Nếu trình bao của bạn hỗ trợ một tùy chọn lấp lánh mới (có thể được kích hoạt bởi shopt -s globstar:), bạn có thể sử dụng:

echo **/*foo*

để tìm bất kỳ tệp hoặc thư mục nào một cách đệ quy. Điều này được hỗ trợ bởi Bash 4, zsh và các trình bao tương tự.


Cá nhân tôi đã định nghĩa hàm shell này:

f() { find . -name "*$1*"; }

Lưu ý: Dòng trên có thể được dán trực tiếp vào trình bao hoặc được thêm vào ~/.bashrctệp của người dùng của bạn .

Sau đó, tôi có thể tìm kiếm bất kỳ tệp nào bằng cách nhập:

f some_name

Hoặc bạn có thể sử dụng một fdtiện ích với một cú pháp đơn giản, ví dụ fd pattern.

29
XYZ_Linux 2017-02-06 03:32.
find <directory_path>  -type f -name "<wildcard-match>"

Trong đối sánh ký tự đại diện, bạn có thể cung cấp chuỗi mà bạn muốn đối sánh, ví dụ: * .c (cho tất cả các tệp c)

11
user8848899 2017-10-30 06:09.

Bạn có thể dùng:

# find . -type f  -name 'text_for_search'

Nếu bạn muốn sử dụng, sử dụng REGX -iname

# find . -type f  -iname 'text_for_search'
9
Anshul Singhal 2018-11-27 18:54.

Lệnh sau sẽ liệt kê tất cả các tệp có tên chính xác "mẫu" (ví dụ) trong thư mục hiện tại và thư mục con của nó.

find ./ -name "pattern"

8
Alberto 2017-05-31 22:47.

để tìm kiếm tệp
find / -xdev -name settings.xml-> toàn bộ máy tính
find ./ -xdev -name settings.xml-> thư mục hiện tại & thư mục con của nó

cho các tệp có kiểu mở rộng

find . -type f -name "*.iso"
8
Aleksandar Pavić 2017-08-09 20:27.

Cách mặc định để tìm kiếm tệp đệ quy và khả dụng trong hầu hết các trường hợp là

find . -name "filepattern"

Nó bắt đầu duyệt đệ quy cho tên tệp hoặc mẫu từ trong thư mục hiện tại nơi bạn đang ở. Với lệnh find, bạn có thể sử dụng các ký tự đại diện và các công tắc khác nhau, để xem danh sách đầy đủ các tùy chọn, hãy nhập

man find

hoặc nếu trang người đàn ông không có sẵn tại hệ thống của bạn

find --help

Tuy nhiên, có nhiều công cụ hiện đại hơn và nhanh hơn sẽ tìm thấy, đang duyệt qua toàn bộ hệ thống tệp của bạn và lập chỉ mục các tệp của bạn, một công cụ phổ biến như vậy là định vị hoặc slocate / mlocate, bạn nên kiểm tra hướng dẫn sử dụng hệ điều hành của mình để biết cách cài đặt nó và một khi nó đã cài đặt nó cần phải khởi tạo cơ sở dữ liệu, nếu tập lệnh cài đặt không làm được điều đó cho bạn, nó có thể được thực hiện theo cách thủ công bằng cách gõ

sudo updatedb

Và, sử dụng nó để tìm kiếm một số loại tệp cụ thể

locate filename

Hoặc, để tìm tên tệp hoặc mẫu từ trong thư mục hiện tại, bạn có thể nhập:

 pwd | xargs -n 1 -I {} locate "filepattern"

Nó sẽ xem qua cơ sở dữ liệu các tệp và nhanh chóng in ra các tên đường dẫn phù hợp với mẫu mà bạn đã nhập. Để xem danh sách đầy đủ các tùy chọn của định vị, hãy nhập: locate --helphoặcman locate

Ngoài ra, bạn có thể định cấu hình định vị để cập nhật cơ sở dữ liệu của nó vào thời gian đã lên lịch thông qua cron job, vì vậy, mẫu cron cập nhật db lúc 1AM sẽ trông giống như sau:

0 1 * * * updatedb

Các công việc cron này cần được định cấu hình bởi root, vì updateb cần có đặc quyền root để truyền toàn bộ hệ thống tệp.

6
MukeshKoshyM 2018-08-18 08:56.

Lệnh dưới đây giúp tìm kiếm bất kỳ tệp nào

1) Không phân biệt trường hợp
2) Kết quả Loại trừ các thư mục không được phép
3) Tìm kiếm từ thư mục gốc hoặc từ đường dẫn bạn thích. Thay đổi / với con đường bạn thích.

Cú pháp:
find -iname '' 2> & 1 | grep -v "Quyền bị từ chối"

Ví dụ

find / -iname 'C * .xml' 2> & 1 | grep -v "Quyền bị từ chối"

find / -iname '*C*.xml'   2>&1 | grep -v "Permission denied"
6
melchi 2019-11-11 23:01.

Tôi ngạc nhiên khi thấy rằng định vị không được sử dụng nhiều khi chúng ta đi đệ quy.

Trước tiên, tôi sẽ thực hiện định vị "$ PWD" để lấy danh sách các tệp trong thư mục quan tâm hiện tại và sau đó chạy greps trên chúng khi tôi muốn.

locate "$PWD" | grep -P <pattern>

Tất nhiên, điều này giả sử rằng cập nhậtb được thực hiện và chỉ mục được cập nhật định kỳ. Đây là cách tìm tệp nhanh hơn nhiều so với việc chạy tìm và yêu cầu nó đi xuống dưới gốc cây. Đề cập đến điều này cho đầy đủ. Không có gì chống lại việc sử dụng tìm, nếu cây không nặng lắm.

5
Shital Shah 2020-01-15 22:56.

Sử dụng

find path/to/dir -name "*.ext1" -o -name "*.ext2"

Giải trình

  1. Tham số đầu tiên là thư mục bạn muốn tìm kiếm.
  2. Theo mặc định là findđệ quy.
  3. Viết -otắt của -or. Vì vậy, ở trên có nghĩa là tìm kiếm ký tự đại diện này HOẶC ký tự này. Nếu bạn chỉ có một mẫu thì không cần -o.
  4. Các dấu ngoặc kép xung quanh mẫu ký tự đại diện là bắt buộc.
4
Reza Harasani 2018-02-05 16:52.

Nếu bạn muốn tìm kiếm tệp đặc biệt bằng ký tự đại diện, bạn có thể sử dụng mã sau:

find . -type f -name "*.conf"

Giả sử, bạn muốn tìm kiếm mọi tệp .conf từ đây:

.có nghĩa là tìm kiếm bắt đầu từ đây (địa điểm hiện tại)
-typecó nghĩa là loại mục tìm kiếm mà ở đây là tệp (f).
-namenghĩa là bạn muốn tìm kiếm các tệp có tên * .conf .

3
Jay Yang 2019-02-22 16:46.

Thao tác này sẽ tìm kiếm tất cả các tệp liên quan trong thư mục hiện tại và thư mục con, tính toán số dòng của chúng một cách riêng biệt cũng như toàn bộ:

find . -name "*.wanted" | xargs wc -l

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Xem đoạn giới thiệu cho bộ phim chuyển thể đầy khói lửa, có sự góp mặt của ngôi sao Edward Norton từ phim Motherless Brooklyn của Jonathan Lethem

Xem đoạn giới thiệu cho bộ phim chuyển thể đầy khói lửa, có sự góp mặt của ngôi sao Edward Norton từ phim Motherless Brooklyn của Jonathan Lethem

Edward Norton đã muốn đưa cuốn tiểu thuyết Motherless Brooklyn của Jonathan Lethem's Joycean 1999 lên màn ảnh kể từ khi nó được xuất bản. Bây giờ, 20 năm sau, một đoạn giới thiệu đã xuất hiện cho câu chuyện sôi nổi, đưa câu chuyện của Lethem trở lại những năm 1950 với rất nhiều gương mặt quen thuộc.

Cách dễ dàng chọn không tham gia trọng tài ràng buộc thẻ Apple

Cách dễ dàng chọn không tham gia trọng tài ràng buộc thẻ Apple

Có thích thú khi sử dụng Thẻ Apple mới của bạn không? Trước khi bạn bắt đầu chi tiêu, có một nhiệm vụ bổ sung cần xem xét: chọn không tham gia trọng tài ràng buộc. Bạn sẽ phát hiện ra các điều khoản trọng tài ràng buộc trong nhiều thỏa thuận tài chính vì nó giúp ngăn các ngân hàng và đối tác kinh doanh của họ không phải ra tòa.

Những người chơi Fortnite World Cup không ghi bàn có cảm giác hài hước về điều đó

Những người chơi Fortnite World Cup không ghi bàn có cảm giác hài hước về điều đó

Điểm số tại vòng chung kết Fortnite World Cup Solo hôm nay là rất lớn, với người chiến thắng Bugha ghi được nhiều hơn 26 điểm so với người về thứ hai là Psalm. Nhưng không phải ai cũng có thể giành chiến thắng: Bốn cầu thủ ra về với 0 điểm, nhưng — ít nhất là trên Twitter — họ là những người thể thao tốt về điều đó.

Báo cáo: Cánh cửa tuyển sinh có thể đã mở cho các ứng viên UCLA có mối quan hệ có ảnh hưởng

Báo cáo: Cánh cửa tuyển sinh có thể đã mở cho các ứng viên UCLA có mối quan hệ có ảnh hưởng

Huấn luyện viên trưởng của bộ môn thể dục dụng cụ UCLA Valorie Kondos-Field theo dõi Katelyn Ohashi thi đấu thăng bằng trong trận gặp Stanford tại Pauley Pavilion vào ngày 10 tháng 3 năm 2019 ở Los Angeles, California. Vụ bê bối gian lận tuyển sinh đại học tiết lộ các chi tiết của một quá trình chính thức hóa để đưa những đứa trẻ thất bại của các gia đình giàu có và nổi tiếng vào các trường đại học đáng tin cậy và danh tiếng, sử dụng một "cửa phụ" đắt tiền cho các bậc cha mẹ mà sự giàu có của họ khiến họ không có cơ hội. chỉ cần tài trợ cho một cánh mới trong khuôn viên trường.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.

Tầm nhìn đám mây phi tập trung của DFINITY Blockchain

Lưu ý của người biên tập: Bạn đang xem tài liệu lỗi thời từ blog DFINITY đang được bảo quản cho mục đích lưu trữ.

Tầm nhìn đám mây phi tập trung của DFINITY Blockchain

Bài đăng này khám phá tầm nhìn về đám mây phi tập trung của nhóm DFINITY và cách nó liên quan đến các nhà cung cấp blockchain truyền thống và đám mây hiện có như Amazon Web Services. Các minh chứng về công nghệ DFINITY được áp dụng bởi một mạng lưới quy mô lớn sẽ được thực hiện vào mùa thu năm 2017, sau đó sẽ được gây quỹ Chính cho quỹ hỗ trợ phi lợi nhuận, với mạng “đám mây mở” dự kiến ​​sẽ ra mắt vào đầu mùa hè năm 2018 .

Language