Đâ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 b
và Y
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.