UltKit
รูปภาพ11
PDF13
เอกสารและข้อมูล7
วิดีโอ6
เสียง4
เครื่องมืออื่น ๆ22

ลบบรรทัดซ้ำ

วางรายการลงไป แล้วบรรทัดที่ซ้ำทุกบรรทัดหลังจากที่ปรากฏครั้งแรกจะถูกลบออก ส่วนบรรทัดที่เหลือยังคงเรียงตามลำดับเดิม การเทียบบรรทัดสามารถไม่สนตัวพิมพ์เล็กใหญ่และช่องว่างที่เกินมาได้ และทั้งหมดทำงานในเบราว์เซอร์ของคุณ

0 ตัวอักษร · 0 คำ · 0 บรรทัด

0 ตัวอักษร · 0 คำ · 0 บรรทัด

ทำงานทั้งหมดภายในแท็บเบราว์เซอร์นี้ ข้อความของคุณจะไม่ถูกอัปโหลดหรือจัดเก็บไว้

เครื่องมือนี้ทำอะไร

ลบบรรทัดซ้ำ เก็บบรรทัดที่พบครั้งแรกไว้และลบบรรทัดที่ซ้ำในภายหลัง โดยคงลำดับเดิมไว้ การเทียบสามารถไม่สนใจตัวพิมพ์เล็ก-ใหญ่และช่องว่างหัวท้ายได้ และเลือกเก็บหรือลบบรรทัดว่างได้

ก่อน
red
blue
Red
green
หลัง
red
blue
green

ใครบ้างที่ต้องลบบรรทัดซ้ำและเพราะอะไร

บรรทัดซ้ำมักเกิดขึ้นเมื่อนำรายการหลายชุดมารวมกัน เช่น นักการตลาดที่รวมรายชื่ออีเมลที่ส่งออกมาสองชุด นักวิจัยที่รวบรวมคีย์เวิร์ดจากหลายเครื่องมือ นักพัฒนาที่ดึง URL จากไฟล์ล็อก หรือครูที่วางรายชื่อจากแบบฟอร์มลงทะเบียนสามชุด ทุกกรณีล้วนมีรายการที่ปรากฏซ้ำสองครั้งขึ้นไป สเปรดชีตก็ลบข้อมูลซ้ำได้เช่นกัน แต่ต้องเปิดไฟล์ เลือกคอลัมน์ และหาเมนูให้ถูก หากข้อมูลอยู่ในคลิปบอร์ดอยู่แล้ว การวางลงในช่องข้อความจะเร็วกว่า

การคงลำดับเดิมสำคัญกว่าที่คิด รายการขั้นตอน อันดับ หรือ URL ที่เรียงตามลำดับการรวบรวมจะเสียความหมายเมื่อถูกจัดเรียงใหม่ เครื่องมือนี้จะเก็บบรรทัดที่พบครั้งแรกไว้ที่เดิมทุกประการ และตัดบรรทัดที่ซ้ำภายหลังออก พร้อมตัวนับแสดงจำนวนบรรทัดที่ถูกลบ เพื่อให้ตรวจดูได้ว่าผลลัพธ์สมเหตุสมผลหรือไม่

วิธีเทียบบรรทัด และความต่างที่มองไม่เห็น

แต่ละบรรทัดจะถูกแปลงเป็นคีย์สำหรับเปรียบเทียบ และเก็บไว้ในเซตขณะอ่านรายการจากบนลงล่าง หากคีย์ของบรรทัดใดมีอยู่ในเซตแล้ว บรรทัดนั้นคือบรรทัดซ้ำ ขั้นตอนนี้ใช้การอ่านเพียงรอบเดียว จึงจัดการรายการที่มีหลายแสนบรรทัดได้รวดเร็ว และต่างจากคำสั่ง uniq แบบดั้งเดิมของ Unix ซึ่งลบเฉพาะบรรทัดซ้ำที่อยู่ติดกัน จึงมักต้องรันหลัง sort ทำให้ลำดับเดิมหายไป ส่วนสำนวน awk อย่าง awk '!seen[$0]++' ให้ผลเหมือนกับเครื่องมือนี้

สองบรรทัดอาจดูเหมือนกันแต่แตกต่างกันจริง ช่องว่างท้ายบรรทัด แท็บแทนช่องว่าง หรือช่องว่างแบบไม่ตัดคำที่คัดลอกมาจากหน้าเว็บ ทำให้คอมพิวเตอร์มองเป็นสตริงคนละตัว เปิดตัวเลือกตัดช่องว่างเพื่อไม่นับช่องว่างหัวท้ายของแต่ละบรรทัด รวมถึงช่องว่างแบบไม่ตัดคำ ปิดการแยกตัวพิมพ์ใหญ่เล็กเพื่อให้ "Paris" กับ "paris" นับเป็นรายการเดียวกัน โดยจะเก็บการสะกดที่พบก่อน ส่วนบรรทัดว่างเลือกเก็บไว้เพื่อให้ย่อหน้ายังแยกจากกัน หรือลบออกทั้งหมดก็ได้

หลังจากลบบรรทัดซ้ำแล้ว

รายการที่ลบข้อมูลซ้ำแล้วมักต้องจัดเรียงต่อ เรียงบรรทัด เรียงตามตัวอักษร ตามลำดับธรรมชาติ หรือตามความยาวได้ หากรายการมาจาก PDF หรืออีเมลที่บรรทัดขาดเป็นช่วง ให้แก้ด้วยเครื่องมือข้อความอื่นก่อน เพราะรายการที่ถูกตัดแบ่งเป็นสองบรรทัดจะไม่ตรงกับรายการเดียวกันที่ไม่ถูกตัด

คำถามที่พบบ่อย

เมื่อมีบรรทัดซ้ำ ระบบเก็บบรรทัดไหนไว้
บรรทัดแรก ทุกบรรทัดถัดมาที่มีเนื้อหาเหมือนกันจะถูกลบ และบรรทัดที่เหลือยังอยู่ในลำดับเดิม จึงไม่มีการสลับตำแหน่ง
ทำไมสองบรรทัดที่ดูเหมือนกันทุกอย่างจึงไม่ถูกลบ
ทั้งสองบรรทัดต่างกันในแบบที่มองไม่เห็น ส่วนใหญ่คือช่องว่างท้ายบรรทัด แท็บ หรือช่องว่างแบบไม่ตัดคำ ให้เปิดตัวเลือกตัดช่องว่าง หรือไม่แยกตัวพิมพ์ใหญ่เล็กหากต่างกันแค่ตัวพิมพ์
เครื่องมือนี้ต่างจากคำสั่ง uniq อย่างไร
uniq จะลบบรรทัดเมื่อซ้ำกับบรรทัดที่อยู่ด้านบนติดกันเท่านั้น จึงมักใช้คู่กับ sort ส่วนเครื่องมือนี้หารายการซ้ำได้ทั่วทั้งข้อความและคงลำดับเดิมไว้
ลบบรรทัดซ้ำและเรียงลำดับรายการไปพร้อมกันได้หรือไม่
ลบบรรทัดซ้ำที่นี่ก่อน แล้วนำผลลัพธ์ไปวางใน เรียงบรรทัด การทำสองขั้นตอนช่วยให้คงลำดับที่พบครั้งแรกได้เมื่อต้องการ และเรียงเฉพาะเมื่อต้องการเท่านั้น