Kết quả của một tìm kiếm bình thường bằng cách sử dụng find . ! -path "./build*" -name "*.txt"
:
./tool/001-sub.txt
./tool/000-main.txt
./zo/001-int.txt
./zo/id/002-and.txt
./as/002-mod.txt
và khi được sắp xếp với sort -n
:
./as/002-mod.txt
./tool/000-main.txt
./tool/001-sub.txt
./zo/001-int.txt
./zo/id/002-and.txt
tuy nhiên đầu ra mong muốn là:
./tool/000-main.txt
./zo/001-int.txt
./tool/001-sub.txt
./zo/id/002-and.txt
./as/002-mod.txt
có nghĩa là đầu ra được sắp xếp chỉ dựa trên tên tệp , nhưng thông tin thư mục nên được duy trì như một phần của đầu ra.
Chỉnh sửa : Làm cho ví dụ phức tạp hơn vì cấu trúc thư mục con có thể bao gồm nhiều cấp.
-printf
thay vì awk
), tôi nghĩ đó là giải pháp tốt nhất. Tôi đã làm lại việc thực hiện ban đầu của mình để sử dụng phương pháp này.