เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

มีเอกลักษณ์

เมื่อเทียบกับ ประเภทที่ มีเอกลักษณ์ โปรแกรมมีน้ำหนักเบา มีเอกลักษณ์ ทำงานที่ดูเหมือนเล็กน้อย เมื่อได้รับไฟล์ที่จัดเรียง (หรืออินพุตมาตรฐาน) ไฟล์จะลบบรรทัดที่ซ้ำกันและส่งผลไปยังเอาต์พุตมาตรฐาน มักใช้ร่วมกับ ประเภท เพื่อทำความสะอาดผลลัพธ์ของรายการที่ซ้ำกัน


ภาพ

เคล็ดลับ: ในขณะที่ มีเอกลักษณ์ เป็นเครื่องมือ Unix แบบดั้งเดิมที่มักใช้กับ ประเภท, เวอร์ชัน GNU ของ ประเภท รองรับ -u ตัวเลือกซึ่งลบรายการที่ซ้ำกันออกจากผลลัพธ์ที่เรียงลำดับ


ภาพ

มาสร้างไฟล์ข้อความเพื่อลองทำสิ่งนี้:



[me@linuxbox ~]$ cat > foo.txt a

bcbc

[me@linuxbox ~]$ cat > foo.txt a

bcbc


อย่าลืมพิมพ์ Ctrl-d เพื่อยุติอินพุตมาตรฐาน ตอนนี้ถ้าเราวิ่ง มีเอกลักษณ์ ในไฟล์ข้อความของเรา:



[me@linuxbox ~]$ ยูนิค foo.txt

abcabc

[me@linuxbox ~]$ ยูนิค foo.txt

abcabc


ผลลัพธ์ไม่ต่างจากไฟล์ต้นฉบับของเรา รายการที่ซ้ำกันไม่ได้ถูกลบออก สำหรับ

uniq เพื่อทำงาน ต้องเรียงลำดับอินพุตก่อน:


[me@linuxbox ~]$ จัดเรียง foo.txt | ยูนิค

abc

[me@linuxbox ~]$ จัดเรียง foo.txt | ยูนิค

abc


นี้เป็นเพราะ มีเอกลักษณ์ ลบเฉพาะบรรทัดที่ซ้ำกันซึ่งอยู่ติดกันเท่านั้น

uniq มีหลายทางเลือก ต่อไปนี้คือรายการทั่วไป:


ตาราง 20-2: Common uniq Options


คำอธิบายตัวเลือก

คำอธิบายตัวเลือก

-c แสดงรายการของบรรทัดที่ซ้ำกันนำหน้าด้วยจำนวนครั้งที่บรรทัดเกิดขึ้น


ภาพ

-d ส่งออกเฉพาะบรรทัดที่ซ้ำกัน แทนที่จะเป็นบรรทัดที่ไม่ซ้ำ


ภาพ

-f n ไม่สนใจ n ชั้นนำในแต่ละบรรทัด เขตข้อมูลจะถูกคั่นด้วยช่องว่างเมื่ออยู่ใน ประเภท; อย่างไรก็ตามไม่เหมือน ประเภท, มีเอกลักษณ์ ไม่มีตัวเลือกสำหรับการตั้งค่าตัวคั่นฟิลด์สำรอง


ภาพ

-i ละเว้นตัวพิมพ์ระหว่างการเปรียบเทียบบรรทัด


ภาพ

-s n ข้าม (ละเว้น) ผู้นำ n อักขระของแต่ละบรรทัด


ภาพ

-u ส่งออกเฉพาะบรรทัดที่ไม่ซ้ำ บรรทัดที่ซ้ำกันจะถูกละเว้น


ภาพ


มาดูกันค่ะ มีเอกลักษณ์ ใช้เพื่อรายงานจำนวนรายการที่ซ้ำกันที่พบในไฟล์ข้อความของเราโดยใช้ -c ตัวเลือก:


[me@linuxbox ~]$ จัดเรียง foo.txt | ยูนิค -c

2

2 ข

2 c

[me@linuxbox ~]$ จัดเรียง foo.txt | ยูนิค -c

2

2 ข

2 c


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: