Score:1

วิธีนับจำนวนบรรทัดที่เหมือนกันติดต่อกัน

ธง in

ฉันมีไฟล์ที่มีลักษณะดังนี้:

2000
2000
2001
2001
2001
2001
2002
2002

ฉันต้องการสคริปต์เพื่อแสดงสิ่งนี้:

2000 - 2
2001 - 4
2002 - 2

ฉันชอบใช้ sed หรือ awk

hr flag
ดูเหมือนว่า `uniq -c` ถูกประดิษฐ์ขึ้นเพื่อ ...
Joe Jobs avatar
in flag
โอ้ดีฉันไม่ทราบว่า ขอบคุณ!
bac0n avatar
cn flag
`ไฟล์ uniq -c | sed -rn 's/ *([0-9]+) (.*)/\2 - \1/p'`
Score:1
ธง cn

นี่คือสิ่งที่แม่นยำ ยูนิค -c ทำ. จาก แมนยูนิค:

คำอธิบาย

กรองบรรทัดการจับคู่ที่อยู่ติดกันจาก INPUT (หรืออินพุตมาตรฐาน) เขียนไปยัง OUTPUT (หรือเอาต์พุตมาตรฐาน)

[ . . . ]

-c, --นับ
เธ เธ เธ เธ เธ เธเธเธเธเธเธเธเธเธเธดเธ

จากตัวอย่างของคุณ เราได้รับ:

$uniq -c ไฟล์
      2 2000
      4 พ.ศ. 2544
      2 พ.ศ. 2545

คุณยังสามารถเขียนสคริปต์เล็กๆ น้อยๆ ได้หากต้องการด้วยเหตุผลบางอย่าง ตัวอย่างเช่นกับ อึดอัด:

$ awk '{ count[$0]++ } END{ for(line in count){ print line,count[line] }}' ไฟล์ 
2543 2
2544 4
2545 2

โพสต์คำตอบ

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