นี่เป็นไวยากรณ์ "ดั้งเดิม" ที่ล้าสมัย (หรืออย่างน้อยล้าสมัย) สำหรับการระบุค่าฟิลด์และคอลัมน์ ซึ่งบันทึกไว้ใน จัดเรียงข้อมูล:
ในระบบที่ไม่เป็นไปตาม POSIX 1003.1-2001 âsortâ รองรับ
ไวยากรณ์เริ่มต้นศูนย์แบบดั้งเดิม â+POS1 [-POS2]â สำหรับการระบุคีย์การเรียงลำดับ
คำสั่งดั้งเดิม âsort +A.X -B.Yâ เทียบเท่ากับ âsort -k
A+1.X+1,Bâ ถ้า Y คือ â0â หรือขาดหายไป มิฉะนั้นจะเทียบเท่ากับ âsort -k
A+1.X+1,B+1.Yâ
ในตัวอย่างที่คุณอ้าง:
เรียงลำดับ +0nr -2 +2d
มีตัวระบุสองชุด: "+0 -2" และ "-2". ครั้งแรกมี เอ=0, ข=2, วาย ขาดและด้วยเหตุนี้จึงเท่ากับ -k0+1,2 เช่น. -k1,2 ในการจัดทำดัชนีแบบ 1 สมัยใหม่ ที่สองมี เอ=2 กับทั้งคู่ ข และ วาย ขาดจึงกลายเป็นเพียง -k3.
ตัวเลือกตัวอักษรมีความหมายตามปกติเช่น
-d, --dictionary-คำสั่ง
พิจารณาเฉพาะช่องว่างและอักขระที่เป็นตัวอักษรและตัวเลขคละกัน
-n, --การเรียงลำดับตัวเลข
เปรียบเทียบตามค่าตัวเลขสตริง
-r, --ย้อนกลับ
กลับผลการเปรียบเทียบ
ดังนั้นผลลัพธ์จึงเป็นการเรียงลำดับตัวเลขแบบย้อนกลับในสองฟิลด์แรก -k1,2nr ตามด้วยการจัดเรียงพจนานุกรมในฟิลด์ที่สาม (และถัดไป) -k3d.
เดอะ ข้อมูล หน้าไม่แนะนำให้ใช้ไวยากรณ์รูปแบบนี้:
สคริปต์ที่มีไว้สำหรับใช้กับโฮสต์มาตรฐานควรหลีกเลี่ยงแบบดั้งเดิม
ไวยากรณ์และควรใช้ â-kâ แทน ตัวอย่างเช่น หลีกเลี่ยง âsort +2â เนื่องจาก
อาจตีความได้ว่า âsort ./+2â หรือ âsort -k 3â ถ้าคุณ
สคริปต์ต้องทำงานบนโฮสต์ที่รองรับเฉพาะไวยากรณ์ดั้งเดิมเท่านั้น
สามารถใช้การทดสอบเช่น âif sort -k 1 </dev/null >/dev/null 2>&1; แล้ว
...â เพื่อตัดสินใจว่าจะใช้ไวยากรณ์ใด