ความแตกต่างระหว่าง unix sort และ sort -d


4

หลังจากใช้เวลาทดลองกับยูนิกซ์ sort ฉันสังเกตเห็นพฤติกรรมดังต่อไปนี้

files.list:

betty
./adam
./cyril

ผลของการ sort files.list เหมือนกันกับผลลัพธ์ของ sort -d files.list:

./adam
betty
./cyril

หน้าคู่มือสำหรับ sort อ่าน:

sort [OPTION]... [FILE]...

-d, --dictionary-order
          consider only blanks and alphanumeric characters

แต่ดูเหมือนว่าฉัน sort (GNU coreutils 8.17) ทำงานเหมือนว่า -d เป็นค่าเริ่มต้น อย่างไรก็ตามฉันไม่พบวิธีที่จะปิด

ดังนั้นคำถามของฉันคือมีความแตกต่างเมื่อเรียกใช้การเรียงลำดับด้วยหรือไม่ -d? เป็นไปได้ไหมที่จะจัดเรียงไม่ให้ละเว้นอักขระที่ไม่ใช่ตัวอักษรและตัวเลข

คำตอบ:


3

ตัวแปรสภาวะแวดล้อม LANG ของคุณถูกตั้งค่าเป็นอะไร?

หากไม่ใช่ C ให้ลองเรียกใช้:

LANG=C sort    files.list > c.files.list 
LANG=C sort -d files.list > c-d.files.list 

และเปรียบเทียบไฟล์ที่ส่งออกกับแต่ละอื่น ๆ และกับเอาท์พุทเดิมของคุณ คุณควรได้รับผลกระทบเดียวกันหากคุณตั้ง LANG = POSIX ด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.