คำถามติดแท็ก sort

การเรียงลำดับไฟล์ข้อความหรือข้อมูลอื่นตัวอย่างเช่นด้วยยูทิลิตีการเรียงลำดับ

6
รับการนับจำนวนคำของไฟล์ข้อความของคำทั้งหมด & เรียงลำดับผลลัพธ์การพิมพ์
ฉันมีคำสั่งที่จะทำงานผ่านไฟล์ข้อความนับจำนวนคำทั้งหมดและพิมพ์ออกมาเช่นนี้ user@box $˜ magic-command-i-forgot | with grep | and awk | sort ./textfile.txt 66: the 54: and 32: I 16: unix 12: bash 5: internet 3: sh 1: GNU/Linux ดังนั้นมันจึงไม่ค้นหาทีละบรรทัด แต่ใช้คำต่อคำและทำเพื่อทุกคำไม่ใช่แค่ 1 คำ ฉันพบมันที่ไหนสักแห่งใน internets นานมาแล้ว แต่ฉันไม่สามารถค้นหาหรือจำได้ ..
28 sort 

3
วิธีการจัดเรียงสตริงที่รวมกับสตริง + ตัวเลขโดยใช้สคริปต์ทุบตี?
นี่คือข้อมูลที่ฉันต้องการเรียงลำดับ แต่sortปฏิบัติต่อตัวเลขกับสตริงข้อมูลที่ไม่เรียงตามที่ฉันคาดไว้ / home / files / profile1 / home / files / profile10 / home / files / profile11 / home / files / profile12 / home / files / profile14 / home / files / profile15 / home / files / profile16 / home / files / profile2 …

3
ทำไมการเรียงลำดับจึงบอกว่าɛ = e
ɛ("ละติน epsilon") เป็นจดหมายที่ใช้ในบางภาษาแอฟริกันมักจะเป็นตัวแทนของเสียงสระในภาษาอังกฤษ "เตียง" ใน Unicode มันถูกเข้ารหัสเป็น U + 025B ซึ่งแตกต่างจากทุกวันeมาก อย่างไรก็ตามถ้าฉันsortต่อไปนี้: eb ed ɛa ɛc ดูเหมือนว่าจะsortพิจารณาɛและeเทียบเท่า: ɛa eb ɛc ed เกิดอะไรขึ้นที่นี่? และมีวิธีที่จะสร้างɛและeแยกแยะเพื่อsortวัตถุประสงค์?
25 sort  locale  unicode 

2
เหตุใดการเรียงลำดับของ ls จึงไม่สนใจอักขระที่ไม่ใช่ตัวอักษรและตัวเลข
เมื่อเรียงลำดับชื่อไฟล์ละเว้นตัวอักษรเช่นls -,_ฉันคาดว่าจะใช้ตัวละครเหล่านั้นในการจัดเรียงเช่นกัน ตัวอย่าง: touch a1 a2 a-1 a-2 a_1 a_2 a.1 a.2 a,1 a,2 ตอนนี้แสดงไฟล์เหล่านี้ด้วยls -1: a1 a_1 a-1 a,1 a.1 a2 a_2 a-2 a,2 a.2 สิ่งที่ฉันคาดหวังคืออะไรเช่นนี้: a1 a2 a,1 a,2 a.1 a.2 a_1 a_2 a-1 a-2 นั่นคือฉันคาดหวังว่าจะต้องคำนึงถึงอักขระที่ไม่ใช่ตัวอักษรและตัวเลขเมื่อเรียง มีใครอธิบายพฤติกรรมนี้ได้บ้าง พฤติกรรมนี้ได้รับคำสั่งจากมาตรฐานหรือไม่? หรือนี่เป็นเพราะการเข้ารหัสเป็น UTF-8 อัปเดต:ดูเหมือนว่าสิ่งนี้เกี่ยวข้องกับการเรียงลำดับ UTF-8: $ LC_COLLATE=C ls -1 a,1 a,2 …
25 ls  sort 

3
ความสามารถในการปรับขนาดของ 'sort -u' สำหรับไฟล์ขนาดยักษ์
ขีดจำกัดความสามารถในการปรับขยายที่เหมาะสมของ 'sort -u' คืออะไร (ในมิติของ "ความยาวบรรทัด", "จำนวนบรรทัด", "ขนาดไฟล์ทั้งหมด"?) อะไรคือทางเลือกของ Unix สำหรับไฟล์ที่เกินขนาดนี้ในมิติของ "จำนวนบรรทัด"? (แน่นอนว่าฉันสามารถใช้งานได้อย่างง่ายดาย แต่ฉันสงสัยว่ามีบางสิ่งที่สามารถทำได้ด้วยคำสั่ง Linux มาตรฐานจำนวนน้อยไหม?)
23 sort 

1
จะเรียงลำดับตัวเลขตามคอลัมน์สุดท้ายได้อย่างไร
ฉันมีข้อมูลนี้: sdkxyosl 1 safkls 2 asdf--asdfasxy_asd 5 dkd8k jasd 29 sdi44sw 43 asasd afsdfs 10 rklyasd 4 ฉันต้องการผลลัพธ์นี้: sdi44sw 43 dkd8k jasd 29 asasd afsdfs 10 asdf--asdfasxy_asd 5 rklyasd 4 safkls 2 sdkxyosl 1 ดังนั้นฉันต้องเรียงลำดับบรรทัดตามคอลัมน์สุดท้าย ฉันไม่รู้ว่ามีกี่คอลัมน์ในหนึ่งบรรทัด ฉันคิดไม่ออกว่าจะทำยังไง ฉันไม่มี "พลัง Perl" ฉันมีพลังในการเขียนสคริปต์โดยเฉลี่ยด้วย sed, awk, cut เป็นต้น มีใครบางคนรู้วิธีที่จะทำ?

1
เรียงลำดับข้อมูลจากมากไปหาน้อยของคอลัมน์แรกสำหรับค่าเท่ากันให้ใช้คอลัมน์ที่สองในลำดับจากน้อยไปหามาก
อนุญาตให้ฉันชี้แจง: สมมติว่าฉันมีคำหลักบางคำที่มีความถี่ในการใช้งาน: 12 Hi 7 Hash 7 C++ 9 Superuser 17 Stackoverflow 9 LaTeX 42 Life 9 Ubuntu สิ่งที่ฉันต้องการคือการจัดเรียงข้อมูลตามความถี่ในการเรียงลำดับจากมากไปน้อยและหากมีค่าเท่ากันควรใช้คอลัมน์ที่สองตามลำดับจากน้อยไปหามาก sort -n -r foo.txt ทำส่วนแรก แต่คอลัมน์ที่สองก็เป็นเช่นreversedกัน: 42 Life 17 Stackoverflow 12 Hi 9 Ubuntu 9 Superuser 9 LaTeX 7 Hash 7 C++ ฉันจะบรรลุผลลัพธ์ต่อไปนี้ได้อย่างไร 42 Life 17 Stackoverflow 12 Hi 9 LaTeX …

3
ทำไม coreutils ถึงเรียงช้ากว่า Python
ฉันเขียนสคริปต์ต่อไปนี้เพื่อทดสอบความเร็วของฟังก์ชันการเรียงลำดับของ Python: from sys import stdin, stdout lines = list(stdin) lines.sort() stdout.writelines(lines) ฉันเปรียบเทียบสิ่งนี้กับsortคำสั่งcoreutils บนไฟล์ที่มี 10 ล้านบรรทัด: $ time python sort.py <numbers.txt >s1.txt real 0m16.707s user 0m16.288s sys 0m0.420s $ time sort <numbers.txt >s2.txt real 0m45.141s user 2m28.304s sys 0m0.380s คำสั่งในตัวใช้ CPU ทั้งสี่ตัว (Python ใช้เพียงอันเดียว) แต่ใช้เวลาในการรันนานกว่า 3 เท่า! สิ่งที่ช่วยให้? ฉันใช้ Ubuntu …

4
ฉันจะสร้างตัวอักขระขีดเส้นใต้ได้อย่างไร?
ฉันชอบความสามารถในการตั้งชื่อไฟล์และไดเรกทอรีด้วยคำนำหน้าขีดล่างถ้าเป็นสิ่งที่ฉันต้องการแยกจากไฟล์และไดเรกทอรีอื่น ๆ ในระดับเดียวกัน ตัวอย่างเช่นบน Windows และ Mac คำนำหน้าไฟล์ที่มีเครื่องหมายขีดล่างเรียงลำดับไว้ที่ด้านบนด้านหน้าของไฟล์ที่ขึ้นต้นด้วยตัวอักษรและตัวเลข googling ของฉันเปิดขึ้นแล้วว่าเกี่ยวข้องกับ LC_COLLATE และสถานที่ปัจจุบันของฉัน (en_US) ไม่เป็นไรแม้ว่าฉันจะไม่เข้าใจว่าทำไม en_US จึงไม่เรียงตามที่คาดไว้ จากสถานที่ตั้งของสถานประกอบการสาธิต ICU Collateไปที่ en_US_POSIX ดูเหมือนจะมีลำดับการจัดเรียงที่ฉันกำลังมองหา (คุณต้องแก้ไขข้อมูลตัวอย่างและเพิ่มขีดล่างเพื่อทดสอบ) แต่ฉันไม่เห็นวิธีใช้สิ่งนี้ในเปลือก Linux ของฉัน เป็นการดีที่ฉันต้องการที่จะสามารถตั้งค่าบางอย่างในการกำหนดค่า bash ของฉันเพื่อให้ ls เรียงลำดับการขีดเส้นใต้ก่อนเสมอ ฉันจะทำสิ่งนี้อย่างไร
20 ls  sort  locale 

2
GNU จัดเรียงการเรียงที่เสถียรเมื่อเรียงลำดับไม่ทราบลำดับ
ฉันมีไฟล์สองคอลัมน์ ไฟล์เรียงตามวิธีที่ฉันต้องการในคอลัมน์ 1 แล้ว ฉันต้องการเรียงลำดับในคอลัมน์ 2 ในแต่ละหมวดหมู่ 1 คอลัมน์ อย่างไรก็ตามsortไม่เข้าใจลำดับการเรียงของคอลัมน์ 1 วิธีปกติ (จากคำถามที่คล้ายกันที่นี่ในสแต็ค) จะเป็น: sort --stable -k1,1 -k2,2n แต่ฉันไม่สามารถระบุการเรียงลำดับบน k1 ได้เนื่องจากมันเป็นกฎเกณฑ์ อินพุตตัวอย่าง: C 2 C 1 A 2 A 1 B 2 B 1 และเอาท์พุท: C 1 C 2 A 1 A 2 B 1 B 2
18 sort 

1
รายชื่อไดเรกทอรีไม่ได้เรียงอย่างเต็มที่
ฉันมีรายการไดเรกทอรีต่อไปนี้ในระบบ Debian Linux อย่างไรก็ตามสิ่งหนึ่งที่แปลกก็คือไฟล์ populate.sql ดูเหมือนจะไม่ได้เรียงกับส่วนที่เหลือ -rw-r--r-- 1 user1 user1 10004 Jul 28 13:16 populate2.sql -rw-r--r-- 1 user1 user1 10244 Jul 28 13:16 populate3.sql -rw-r--r-- 1 user1 user1 10359 Jul 28 13:16 populate4.sql -rw-r--r-- 1 user1 user1 11618 Jul 28 13:16 populate5.sql -rw-r--r-- 1 user1 user1 11654 Jul 28 13:17 …

5
ฉันจะเรียงลำดับรายการด้วยระดับ major.minor.patch และบางครั้ง rc อย่างถูกต้องได้อย่างไร
ฉันต้องเรียงลำดับรายการต่อไปนี้ด้วยเชลล์สคริปต์และทำให้เวอร์ชันล่าสุดปรากฏที่ด้านล่างหรือด้านบน ฉันจะทำอย่างไรกับเครื่องมือของเชลล์เท่านั้น? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

2
วิธีการเรียงลำดับผลลัพธ์จากคำสั่ง ls ตามวันที่แก้ไข (ไดเรกทอรีแรก)?
ฉันสามารถยิงได้ ls -lrt เพื่อรับไฟล์และโฟลเดอร์เรียงตามวันที่แก้ไข แต่ไม่ได้แยกไดเรกทอรีจากไฟล์ ฉันต้องการที่lsจะแสดงไดเรกทอรีแรกโดยวันที่แก้ไขแล้วไฟล์ตามวันที่แก้ไข ทำอย่างไร
18 linux  bash  ls  sort 

3
เป็นไปได้อย่างไรที่จะจัดเรียงฟิลด์ CPU ของคำสั่ง ps
ฉันกำลังพยายามสร้างคำสั่งขนาดเล็กที่จะค้นหากระบวนการที่ใช้พลังงาน CPU มากที่สุด ประการแรกผมใช้แล้วps aux > file.txtcut -c 16-20 file.txt | sort -n | tail -5 ผลลัพธ์ที่ฉันได้รับคือ: 1.0 2.7 8. 14.5 14.5 ดังนั้นคำถามของฉันคือฉันจะมีทั้งการ%CPUใช้งานและฟิลด์อื่นที่แสดงร่วมกันได้อย่างไร
18 bash  shell-script  sort  ps 

3
ลำดับเริ่มต้นของการเรียงลำดับ Linux คืออะไร
เป็นเวลานานฉันคิดว่าพฤติกรรมเริ่มต้นของsortโปรแกรมกำลังใช้คำสั่ง ASCII อย่างไรก็ตามเมื่อฉันป้อนบรรทัดต่อไปนี้sortโดยไม่มีข้อโต้แย้งใด ๆ : # @ ฉันได้: @ # แต่ตามตาราง ASCII #คือ 35 และ@เป็น 64 อีกตัวอย่างคือ: A a และผลลัพธ์คือ: a A ใครสามารถอธิบายสิ่งนี้ได้บ้าง โดยวิธีการ 'สั่งพจนานุกรม' เมื่อใช้sort -dคืออะไร?
18 linux  sort  locale 

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