ls hiển thị các tệp có sẵn trong một thư mục. Tôi muốn tên tệp được hiển thị dựa trên độ dài của tên tệp.Sắp xếp tên tệp theo chiều dài của tên tệp
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn trước
ls hiển thị các tệp có sẵn trong một thư mục. Tôi muốn tên tệp được hiển thị dựa trên độ dài của tên tệp.Sắp xếp tên tệp theo chiều dài của tên tệp
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn trước
Bạn có thể làm như
for i in `ls`; do LEN=`expr length $i`; echo $LEN $i; done | sort -n
này làm cho các tập tin thử nghiệm:
mkdir -p test; cd test
touch short-file-name medium-file-name loooong-file-name
kịch bản:
ls |awk '{print length($0)"\t"$0}' |sort -n |cut --complement -f1
đầu ra:
short-file-name
medium-file-name
loooong-file-name
Hai giải pháp đầu tiên hoạt động tốt. Cảm ơn tất cả vì phản hồi. –
Cách đơn giản chỉ là:
$ ls | perl -e 'print sort { length($b) <=> length($a) } <>'
Câu trả lời của Raghuram ở trên đã không làm việc cho tôi trên FreeBSD trong bash shell, nhưng điều này đã làm. Gotta yêu perl. Cảm ơn. –
for i in *; do printf "%d\t%s\n" "${#i}" "$i"; done | sort -n | cut -f2-
Tôi nghĩ rằng nó được phân loại dựa trên kích thước tập tin, tôi muốn nó được sắp xếp dựa vào độ dài của tên tập tin –
xin lỗi về điều đó. hãy để tôi lấy đúng và repost – Raghuram
Nhập mã mới ... kiểm tra ngay – Raghuram