Score:0

วิธีเปรียบเทียบสองไฟล์แบบโต้ตอบโดยใช้ sed และการวนซ้ำ

ธง gs

เราต้องการเปรียบเทียบ file1 (คำถาม) กับ file2 (คำตอบ)

ไฟล์ 1:

1
2
3

ไฟล์ 2:

1
2
3

ถามผู้ใช้: "1" (จาก file1 line1) เท่ากับ "1" (จาก file2 line1) หรือไม่

ผู้ใช้พิมพ์ YES หรือ NO และรับคำตอบที่ถูกต้องหากถูกต้อง หากถูกต้องให้เพิ่ม +1 เพื่อแก้ไขคำตอบ จากนั้นแสดงจำนวนคำตอบที่ถูกต้อง

เรากำลังมองหาสิ่งนี้สำหรับคำถาม/คำตอบสูงสุด 10 ข้อ...

นี่คือตัวอย่างว่าเราอยู่ที่ไหน:

#!/bin/bash
แจ่มใส

#คงที่
คะแนน=0
ไฟล์1=file1.txt
file2=file2.txt

#ข้อความยินดีต้อนรับ
เสียงสะท้อน
เสียงสะท้อน
echo "ยินดีต้อนรับสู่ Lab 4.2 Script Quiz!"
echo "ที่นี่จะมีการถามคำถามและต้องระบุคำตอบที่ถูกต้อง..."
เสียงสะท้อน
เสียงสะท้อน

#ห่วง

ฉัน=0
ในขณะที่ [[ ฉัน -le 10 ]]
ทำ

#แยกไฟล์สำหรับคำถามและคำตอบ
คำถาม='sed -n $i{p} $file1'
answer='sed -n $i{p} $file2'

#พิมพ์คำถามและคำตอบสำหรับผู้ใช้
echo "เป็น $question"
echo "เหมือนกับ $answer หรือไม่"

#อ่านทางเลือกของผู้ใช้

อ่าน -p "- คำตอบของคุณ: (ใช่ หรือ ไม่ใช่) " user_choice

#เปรียบเทียบตัวเลือกของผู้ใช้กับโซลูชันและเพิ่มคะแนนหากถูกต้อง

ถ้า [ "$user_choice" == [ "$question" == "$answer" ]
แล้ว
    คะแนน=$(( ++ คะแนน ))
    echo "คำตอบถูกต้อง คุณมี $score ถูกต้องแล้ว"
    ฉัน=++ฉัน
อื่น
    echo "ตอบผิด คำตอบที่ถูกต้องคือ $answer"
    ฉัน=++ฉัน
ไฟ

เสร็จแล้ว

echo "คะแนนของคุณคือ: คะแนน $เต็ม 10 ถูกต้อง"

เรากำลังใช้สคริปต์ที่มีอยู่ ( https://github.com/h4k1m0u/bash-quiz/blob/master/bash-quiz.sh ) และพยายามแก้ไขให้เข้ากับความต้องการของเรา แต่ติดขัด...

เราต้องการคำสั่ง sed เพื่อสะท้อนผลลัพธ์สำหรับผู้ใช้ของเราเพื่อเปรียบเทียบ แต่มันกลับสะท้อนคำสั่งแบบเต็มเท่านั้น

หลังจากคำสั่ง sed echo ผลลัพธ์ เราจำเป็นต้องมี if loop เพื่อตรวจสอบการตอบสนองของผู้ใช้ว่าใช่หรือไม่ใช่ และเพื่อเปรียบเทียบว่าการตอบสนองของผู้ใช้นั้นถูกต้องหรือไม่...

โพสต์คำตอบ

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