Điểm:0

Lệnh sắp xếp Bash sắp xếp số, trường và sắp xếp từ điển

lá cờ dk

Bạn có thể giải thích sắp xếp +0nr -2 +2d vui lòng? Ví dụ này là từ https://www.grymoire.com/Unix/Awk.html Bình luận nói:

# sắp xếp theo số - số lớn nhất trước
# sắp xếp các trường 0 và 1 trước (sắp xếp bắt đầu bằng 0)
# theo sau là sắp xếp từ điển trên các trường 2 + 3

Vui lòng giải thích mọi đối số được sử dụng.

Cảm ơn!

lá cờ hr
AFAIK cú pháp đó đã lỗi thời - xem ví dụ [Lỗi âsort: không thể đọc: +1: không có tệp hoặc thư mục như vậyâ](https://unix.stackexchange.com/a/486729/65304)
Logan Lee avatar
lá cờ dk
@steeldriver yeh nhưng bạn có thể giải thích ý nghĩa của chúng không?
waltinator avatar
lá cờ it
Đọc `man sort` và `info sort`.
Điểm:1
lá cờ hr

Đây là cú pháp "truyền thống" đã lỗi thời (hoặc ít nhất là lỗi thời) để chỉ định giá trị trường và cột, được ghi lại trong sắp xếp thông tin:

   Trên các hệ thống không phù hợp với POSIX 1003.1-2001, âsortâ hỗ trợ
cú pháp gốc-không truyền thống â+POS1 [-POS2]â để chỉ định các khóa sắp xếp.
Lệnh truyền thống âsort +A.X -B.Yâ tương đương với âsort -k
A+1.X+1,Bâ nếu Y là â0â hoặc không có, nếu không thì tương đương với âsort -k
A+1.X+1,B+1.Yâ.

Trong ví dụ bạn trích dẫn:

sắp xếp +0nr -2 +2d

có hai bộ xác định: "+0 -2" và "-2". Đầu tiên có A=0, B=2, Y vắng mặt và do đó tương đương với -k0+1,2 I E. -k1,2 trong lập chỉ mục dựa trên 1 hiện đại. thứ hai có A=2 với cả hai bY vắng mặt nên trở thành chỉ -k3.

Các tùy chọn chữ cái có ý nghĩa thông thường của chúng, tức là.

   -d, --dictionary-order
          chỉ xem xét khoảng trống và ký tự chữ và số

   -n, --numeric-sắp xếp
          so sánh theo giá trị số chuỗi

   -r, --reverse
          đảo ngược kết quả so sánh

vì vậy kết quả là sắp xếp số đảo ngược trên hai trường đầu tiên, -k1,2nr theo sau là sắp xếp từ điển trên các trường thứ ba (và tiếp theo) -k3d.

Các thông tin trang khuyên không nên sử dụng dạng cú pháp này:

   Các tập lệnh dành cho sử dụng trên các máy chủ tiêu chuẩn nên tránh truyền thống
cú pháp và nên sử dụng â-kâ để thay thế. Ví dụ: tránh âsort +2â, vì
nó có thể được hiểu là âsort ./+2â hoặc âsort -k 3â. Nếu là của bạn
tập lệnh cũng phải chạy trên các máy chủ chỉ hỗ trợ cú pháp truyền thống,
nó có thể sử dụng một bài kiểm tra như âif sort -k 1 </dev/null >/dev/null 2>&1; sau đó
...â để quyết định sử dụng cú pháp nào.
Điểm:-1
lá cờ dk

nó giống như sắp xếp -k1,2nr -k3d.

Đă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.