Tôi có một thư mục (Linux/Unix) trên Apache Server với rất nhiều thư mục con có chứa rất nhiều các tập tin như thế này:Làm cách nào để tìm tất cả các tệp trong Thư mục có grep và regex?
- Dir - 2010_01/ - 142_78596_101_322.pdf - 12_10.pdf - ... - 2010_02/ - ...
Làm thế nào tôi có thể tìm thấy tất cả các file với filesnames trông như: *_*_*_*.pdf
? nơi * luôn là một chữ số !!
tôi cố gắng giải quyết nó như thế này:
ls -1Rl 2010-01 | grep -i '\(\d)+[_](\d)+[_](\d)+[_](\d)+[.](pdf)$' | wc -l
Nhưng biểu hiện thường xuyên \(\d)+[_](\d)+[_](\d)+[_](\d)+[.](pdf)$
không làm việc với grep.
Chỉnh sửa 1: Thử ví dụ ls -l 2010-03 | grep -E '(\d+_){3}\d+\.pdf' | wc -l
chỉ trả về giá trị rỗng. Vì vậy, nó không hoạt động hoàn hảo
\ d nghĩa là chữ số, vì vậy regex bạn đang tìm kiếm: digits_digits_digits_digits.pdf. Loại tên tệp nào bạn không muốn khớp? –
oh xin lỗi ... tôi đã chỉnh sửa bài đăng của tôi – trouble
Bạn đang cố gắng khớp '12_10.pdf' hoặc chỉ' 142_78596_101_322.pdf' trong ví dụ? –