Score:6

ฉันจะนับอักขระแต่ละประเภท (และรวมทั้งหมด) ในไฟล์ข้อความได้อย่างไร

ธง gs

ฉันแค่สงสัยว่ามีใครสามารถบอกฉันถึงวิธีการนับจำนวนอักขระต่างๆ ที่เกิดขึ้นในไฟล์ข้อความและจำนวนรวมของเหตุการณ์ทั้งหมดที่รวมเข้าด้วยกันในตอนท้าย

ฉันแค่พยายามเรียนรู้กระบวนการเพื่อความรู้ของฉันเอง

waltinator avatar
it flag
หรือคุณต้องการ "42 a, 33 b, 27 c, ..."? มันอาจจะง่ายใน `perl`
Score:7
ธง jp

นับทั่วไปด้วย ห้องน้ำ

คุณสามารถใช้ได้ ห้องน้ำ เพื่อนับบรรทัด คำ อักขระ ไบต์ ... แต่ไม่นับรายการสำหรับแต่ละอักขระแยกกัน ดู ห้องสุขาชาย.

นับจำนวนอักขระแต่ละตัว

หากคุณต้องการแสดงรายการหมายเลขสำหรับแต่ละอักขระแยกกัน คุณสามารถทำได้

  • เริ่มต้นด้วยการพิมพ์อักขระแต่ละตัวไปยังบรรทัดที่แยกจากกัน เกรป
  • จากนั้นจัดเรียงด้วย เรียงลำดับ
  • จากนั้นใช้ ยูนิค เพื่อพิมพ์จำนวนแต่ละชนิด

ตัวอย่าง

ตัวอย่าง สมมติว่าคุณมีลิงก์ไปยังไฟล์พจนานุกรม (รายการคำ) ที่ /usr/share/dict/words

$ wc --lines --words --chars --bytes /usr/share/dict/words
102305 102305 971304 971578 /usr/share/dict/คำ

มีไบต์มากกว่าอักขระ เนื่องจากอักขระบางตัวประกอบด้วยมากกว่าหนึ่งไบต์ (เช่น อักขระ [เครื่องหมายเครื่องหมาย] ตัวสุดท้ายในรายการด้านล่าง)

  $ < /usr/share/dict/words grep -o '.' |sort |ยูนิค -c
  29105 '
  65630 ก
   1438 อ
     12 อั
      6 อั
  14654 บ
   พ.ศ. 1481
  31144ค
   พ.ศ. 1636
      5 §
  28422 ง
    844 ง
  90579 จ
    653 อี
    148 อ©
     29 ก
      6 ก
  10380ฉ
    538 ฉ
  22501 ก
    852 ก
  19325 น
    919 ฮ
  68343 ไอ
    361 ไอ
      2 ก
   1482 ญ
    560 เจ
   8188 ก
    680 เค
  41512ล
    942 ล
  21488 ม
   1768 ม
  58328 น
    587 น
      8 ±
  50187 อ
    409 อ
     10 ó
      2 ก
  21691 น
   1049 ป
   1492 ตร
     72 คิว
  58312 ร
    782 ร
  92909 ส
   1656 ส
  53309 ต
    908 ต
  26773 คุณ
    140 ยู
      3 ก»
   7870 โวลต์
   7281 ว
    352 โวลต์
    533 ว
   2139x
     44 เอ็กซ์
  12896 ย
    154 ย
     14 ü
   3266 ซ
    161 ซ
      3 ¥
      2 ก 
      7 ก
     17 ¶
phuclv avatar
sd flag
คุณไม่จำเป็นต้องเปลี่ยนเส้นทางเพื่อทำงานกับ grep เพราะสามารถอ่านไฟล์ได้โดยตรง อันที่จริงแล้ว การระบุไฟล์สามารถเพิ่มประสิทธิภาพหลายอย่างที่ไม่สามารถทำได้กับสตรีม
Score:5
ธง cn

มีวิธีง่ายๆ ในการนับอักขระแต่ละตัวในไฟล์ข้อความฉันใช้คำถามของคุณเป็นไฟล์ข้อความ (เรียกว่า countc) และทดสอบรหัสนี้:

เกรป '.' -o countc | awk '{a[$1]++} END {สำหรับ (i ใน a) พิมพ์ i,a[i]}'

และนี่คือสิ่งที่คุณได้รับ:

' 1
ชั่วโมง 9
คุณ 6
 46
v 1
ฉัน 7
เจ 2
ว 5
k 1
x 1
ล. 10
4
ม.3
น 16
14
. 2
o 19
หน้า 1
ค 12
ฉัน 2
ง 9
อาร์ 14
จ 28
ฉ 8
8
กรัม 5
เสื้อ 21

อาร์เรย์ awk มีประโยชน์มากสำหรับการดำเนินการดังกล่าว

โพสต์คำตอบ

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