Điểm:2

Sắp xếp tệp theo tên chứa giá trị số

lá cờ ma

Tôi có các tệp trong hệ thống của mình như thế này -

-rw-r--r-- 1 abc abcadm 14852497 ngày 23 tháng 7 01:11 ABCD_72_3_20210722_163502.csv
-rw-r--r-- 1 abc abcadm 14853145 ngày 23 tháng 7 01:11 ABCD_72_1_20210722_163502.csv
-rw-r--r-- 1 abc abcadm 14839699 Ngày 23 tháng 7 01:11 ABCD_72_2_20210722_163502.csv
-rw-r--r-- 1 abc abcadm 14842673 Ngày 23 tháng 7 01:11 ABCD_72_5_20210722_163502.csv
-rw-r--r-- 1 abc abcadm 14843811 Ngày 23 tháng 7 01:11 ABCD_72_4_20210722_163502.csv

Tôi muốn sắp xếp các tệp đó để chỉ in tên tệp và với cách sắp xếp như sau:

ABCD_72_1_20210722_163502.csv
ABCD_72_2_20210722_163502.csv
ABCD_72_3_20210722_163502.csv
ABCD_72_4_20210722_163502.csv
ABCD_72_5_20210722_163502.csv

Tôi đang sử dụng lệnh bên dưới để sắp xếp nó theo thứ tự tăng dần và chỉ in tên nhưng danh sách không được sắp xếp.

ls -l | ABCD_72_[0-9]*_20210722_163502* | awk '{in $9}' | loại

Vui lòng gợi ý cho tôi nơi tôi sai hoặc bất kỳ sự thay thế nào về điều này?

Điểm:2
lá cờ cn

Đầu tiên, không phân tích cú pháp đầu ra của ls. Chúng ta có thể sửa đổi câu trả lời sang một câu hỏi khác một chút để làm cho nó không đệ quy, và sau đó tìm ./ -maxdepth 1 -printf "%f\n", và bạn muốn nó được sắp xếp, vì vậy hãy đưa nó vào loại. Lệnh cuối cùng là

$ find ./ -maxdepth 1 -printf "%f\n" | loại

Như @Rinzwind đã chỉ ra, nếu bạn muốn sắp xếp theo số (vì vậy 2 có thể đến trước 12), cộng --numeric-sort đến cuối lệnh thực hiện nó.

tìm ./ -maxdepth 1 -printf "%f\n" | sắp xếp --numeric-sort
bac0n avatar
lá cờ cn
Điều này phá vỡ *newline*, có thể thực hiện `-printf %f\0 | sắp xếp -zn | xargs -0 -n 1`
cocomac avatar
lá cờ cn
@bac0n Sau đó, chỉnh sửa câu trả lời của tôi hoặc đăng câu trả lời của riêng bạn. Tôi đã không xem xét các dòng mới, bởi vì tại sao ai đó lại có một dòng đầu tiên trong tên tệp?!?
Điểm:0
lá cờ hr

Nếu bạn chuyển sang zsh, bạn có thể sử dụng vòng loại toàn cầu số của nó:

   n đặt tùy chọn NUMERIC_GLOB_SORT cho mẫu hiện tại

(xem Vòng loại toàn cầu ở dưới cái THẾ HỆ TÊN TỆP phần của người đàn ông zshexn).

Bán tại.

 % print -rC1 ABCD_*.csv(n)
ABCD_72_1_20210722_163502.csv
ABCD_72_2_20210722_163502.csv
ABCD_72_3_20210722_163502.csv
ABCD_72_4_20210722_163502.csv
ABCD_72_5_20210722_163502.csv

hoặc (theo thứ tự số đảo ngược)

 % print -rC1 ABCD_*.csv(nOn)
ABCD_72_5_20210722_163502.csv
ABCD_72_4_20210722_163502.csv
ABCD_72_3_20210722_163502.csv
ABCD_72_2_20210722_163502.csv
ABCD_72_1_20210722_163502.csv
bac0n avatar
lá cờ cn
Thực sự rất nhanh.
Điểm:0
lá cờ cn

Bạn đã xem xét đơn giản

ls -v -1

Điều này cũng có thể được sử dụng một cách tự nhiên với một đặc tả tệp, chẳng hạn như:

ls -v -1 ABCD*

hoặc

ls -v -1 A*.csv
Điểm:-1
lá cờ cn

Sửa đổi lệnh của riêng bạn, điều này sẽ thực hiện công việc:

ls -l | awk '{in $NF}' | sắp xếp -nk3
cocomac avatar
lá cờ cn
Điều này không thể xử lý các thư mục có khoảng trắng. Ví dụ: nếu tôi tạo một thư mục có tên `test dir` (với `mkdir test\ dir`) và chạy lệnh của bạn, nó sẽ in ra `test`, nhưng không in ra `test dir`. Dòng thư mục ví dụ không thành công `drwxr-xr-x 2 ubuntu ubuntu 4096 ngày 7 tháng 10 09:53 'test dir'`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.