Nếu bạn nhìn vào những gì find
nói về sắp xếp:
-s Nguyên nhân tìm thấy để vượt qua hệ thống phân cấp tệp trong
thứ tự từ điển, nghĩa là thứ tự chữ cái trong mỗi thư mục.
Lưu ý: `find -s` và` find | sắp xếp có thể cho kết quả khác nhau.
Điều này có nghĩa là chúng ta cần dẫn nó đến sort
để chúng ta có thể thao tác với nó nhiều hơn một chút.
Như bạn đã thấy, một loại chữ và số đơn giản sẽ không hoạt động vì nó so sánh mọi thứ như một ký tự ANSI không phải là số. Những gì chúng ta cần làm chỉ là so sánh các con số. Chúng ta có thể làm điều này với -k
tùy chọnsort
find . -type d | sort -k2.3
Những gì sort -k2.3
lệnh đang làm là sắp xếp trên trường thứ hai (được phân cách bởi khoảng trắng) kết thúc ở vị trí thứ 3. Đây là kết quả sử dụng quy ước đặt tên thư mục của bạn 1 :
.
./Folder 1
./Folder 2
./Folder 3
./Folder 4
./Folder 5
./Folder 6
./Folder 7
./Folder 8
./Folder 9
./Folder 10
./Folder 11
./Folder 12
./Folder 13
./Folder 14
./Folder 15
1 Để tạo cấu trúc thư mục này, tôi đã sử dụng lệnh trong thư mục nhà của mình:
mkdir test; cd test; for n in {1..15}; do mkdir "Folder $n"; done
find
thay vìls
?