Cách xem các tệp ẩn bằng lệnh `find` của Linux


19

Trên máy chủ Linux, tôi cần tìm tất cả các tệp có phần mở rộng tệp nhất định trong thư mục hiện tại và tất cả các thư mục con.

Trước đây, tôi luôn sử dụng lệnh sau:

find . -type f | grep -i *.php

Tuy nhiên , nó không tìm thấy các tập tin ẩn, ví dụ .myhiddenphpfile.php . Sau đây tìm thấy các tệp php ẩn, nhưng không phải là các tệp không ẩn:

find . -type f | grep -i \.*.php

Làm thế nào tôi có thể tìm thấy cả các tệp php ẩn và không ẩn trong cùng một lệnh?


1
Bạn biết rằng "re" trong "grep" là viết tắt của "biểu thức chính quy", phải không? Tôi không biết làm thế nào một trong hai dòng lệnh đó được cho là hoạt động ...
Ignacio Vazquez-Abrams

Câu trả lời:




0

Vấn đề là grep, không phải là find (thử chỉ find . -type fđể xem ý tôi là gì).

Nếu bạn không trích dẫn *thì shell sẽ mở rộng nó - trước khi grep thậm chí nhìn thấy các đối số dòng lệnh của nó; vì shell không tìm thấy các tập tin ẩn theo mặc định, bạn sẽ gặp vấn đề.

Lý do nó chỉ tìm thấy tệp ẩn là vì trình bao đã mở rộng *và vì vậy grep chỉ khớp với một tệp đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.