ls ak{k,}
sẽ hiển thị các tập tin bắt đầu bằng ak
theo sau bởi một cái khác k
hoặc không có gì.
$ touch ak akk akc
$ ls -l ak{k,}
-rw-rw-r-- 1 cas cas 0 Oct 27 10:30 ak
-rw-rw-r-- 1 cas cas 0 Oct 27 10:30 akk
quả cầu không phải là regexps, nhưng có nhiều thứ hơn là chỉ *
và ?
.
Nếu bạn muốn sử dụng regexps để tìm tên tệp phù hợp, bạn có thể sử dụng find
lệnh:
$ find . -maxdepth 1 -type f -regex './ak+$'
./ak
./akk
Các -maxdepth 1
tùy chọn giới hạn tìm kiếm để chỉ thư mục hiện hành (không có thư mục con sẽ được tìm kiếm)
Nếu bạn muốn tìm kiếm không phân biệt chữ hoa chữ thường, hãy sử dụng -iregex
chứ không phải -regex
.
Có nhiều phương pháp để sử dụng các tệp được tìm thấy find
trong các lệnh khác. Ví dụ:
find . -maxdepth 1 -type f -regex './ak+$' -ls
find . -maxdepth 1 -type f -regex './ak+$' -exec ls -ld {} +
find . -maxdepth 1 -type f -regex './ak+$' -print0 | xargs -0r ls -ld
ls -ld $(find . -maxdepth 1 -type f -regex './ak+$')
Ví dụ cuối cùng thiên về các chế độ thất bại khác nhau, bao gồm 1. không đối phó với khoảng trắng, v.v. trong tên tệp, 2. giới hạn độ dài dòng lệnh. không được khuyến khích.