เรียงและตัดบรรทัดซ้ำ
เรียงบรรทัดตามตัวอักษรหรือแบบธรรมชาติ ลบรายการซ้ำและบรรทัดว่าง
เกี่ยวกับเครื่องมือนี้
โต๊ะทำงานสำหรับจัดการบรรทัด: วางรายการใด ๆ แล้วเรียงตามตัวอักษร เรียงย้อนกลับ เรียงแบบธรรมชาติ (item2 มาก่อน item10) เรียงตามความยาว หรือสลับลำดับ — พร้อมตัวเลือกตัดช่องว่างหัวท้าย ทิ้งบรรทัดว่าง และลบรายการซ้ำโดยคงลำดับเดิมไว้ จำนวนบรรทัดที่ถูกลบจะถูกรายงาน คุณจึงเห็นชัดว่าการตัดรายการซ้ำทำอะไรไปบ้าง
การเรียงแบบธรรมชาติคือตัวเลือกที่คุณจะหยิบใช้บ่อยที่สุด: การเรียงตามตัวอักษรล้วน ๆ จะวาง “item10” ไว้ก่อน “item2” เพราะเทียบทีละอักขระ ขณะที่การเรียงแบบธรรมชาติเทียบตัวเลขที่ฝังอยู่ตามค่าจริง — ซึ่งเป็นลำดับที่มนุษย์คาดหวังกับชื่อไฟล์ เลขเวอร์ชัน และไอดี
การตัดรายการซ้ำจะเก็บรายการที่พบครั้งแรกไว้และคงลำดับเดิมของรายการที่เหลือ ซึ่งสำคัญเมื่อลำดับของรายการมีความหมาย (คำสั่ง import บรรทัดคอนฟิก เพลย์ลิสต์) ส่วนโหมดไม่สนตัวพิมพ์จะถือว่า “Apple” และ “apple” เป็นบรรทัดเดียวกัน
คำถามที่พบบ่อย
- เรียงตามตัวอักษรกับเรียงแบบธรรมชาติต่างกันอย่างไร?
- การเรียงตามตัวอักษรเทียบรหัสอักขระ ดังนั้น “file10” < “file2” (เพราะ “1” < “2” ที่ตำแหน่งที่ 5) ส่วนการเรียงแบบธรรมชาติรู้จักชุดตัวเลขและเทียบมันเป็นจำนวน จึงได้ file2 < file10 ให้ใช้แบบธรรมชาติกับทุกอย่างที่มีตัวเลขอยู่ข้างใน
- การตัดรายการซ้ำเก็บรายการแรกหรือรายการสุดท้าย?
- เก็บรายการแรก บรรทัดถูกไล่อ่านจากบนลงล่าง และจะถูกตัดทิ้งก็ต่อเมื่อมีบรรทัดที่เหมือนกัน (หรือเท่ากันเมื่อไม่สนตัวพิมพ์) ปรากฏมาก่อนแล้วเท่านั้น ลำดับของรายการที่เหลือจึงตรงกับต้นฉบับ
- รองรับรายการได้ใหญ่แค่ไหน?
- หลายแสนบรรทัดก็ไม่มีปัญหา — การทำงานเป็นเพียงการไล่อ่านง่าย ๆ บวกการเรียงลำดับ ทุกอย่างอยู่ในหน่วยความจำของเบราว์เซอร์ ขีดจำกัดในทางปฏิบัติจึงคือเครื่องของคุณ ไม่ใช่โควตาของเซิร์ฟเวอร์
- ใช้หลายการทำงานพร้อมกันได้ไหม?
- ได้ และมันจะทำงานตามลำดับที่สมเหตุสมผล: ตัดช่องว่างก่อน จากนั้นทิ้งบรรทัดว่าง แล้วตัดรายการซ้ำ แล้วจึงเรียงลำดับ — ดังนั้น “ apple ” กับ “apple” จะถูกตัดซ้ำร่วมกันเมื่อเปิดการตัดช่องว่าง และการเรียงจะเห็นรายการที่สะอาดแล้วเสมอ