Tôi cần sử dụng find
để xác định vị trí tệp phù hợp với mẫu biểu thức chính quy filename.extension
thay vì mặc định phù hợp /path/to/filename.extension
.
Ví dụ:
/folder
|--a-love-song.ogg
|--a-jazz-song.ogg
+--love-songs
+--a-blues-song.ogg
Và tôi muốn tìm, trong /folder
và đó là các thư mục con, các tệp có .*love.*
tên tệp:
debian@debian:~$ find folder -regex ".*love.*"
folder/a-love-song.ogg
folder/love-songs # Shouldn't be returned
folder/love-songs/a-blues-song.ogg # Shouldn't be returned
Tôi đọc trang man và nhận ra có tùy chọn -name
, chỉ tìm kiếm tên tệp, nhưng dường như nó không cho phép regex và -name -regex
không hoạt động.
Tôi đã thử sử dụng regex để bỏ qua đường dẫn:
debian@debian:~$ find folder -regex "\/.*love.*$"
Nhưng nó đã không trả lại bất cứ điều gì. Tất nhiên ls | grep
sẽ hoạt động, nhưng nó không trả về đường dẫn đến tệp mà tôi cần để biết tệp đó ở đâu.