จะวนซ้ำคำสั่งสำหรับแต่ละไฟล์ได้อย่างไร?
สามารถพิมพ์ชื่อไฟล์ที่ต้องการประมวลผลลงไปในลูปได้โดยตรง แต่โดยทั่วไปการใช้ wildcard จะสะดวกกว่า ลองรันลูปนี้ใน console:
for filename in seasonal/*.csv; do echo $filename; done
ผลลัพธ์ที่ได้คือ:
seasonal/autumn.csv
seasonal/spring.csv
seasonal/summer.csv
seasonal/winter.csv
เพราะ shell จะขยาย seasonal/*.csv ให้เป็นรายชื่อไฟล์ทั้ง 4 ไฟล์
ก่อนที่จะรันลูป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Shell
คำแนะนำการฝึกหัด
แก้ไข wildcard expression เป็น people/*
เพื่อให้ลูปแสดงชื่อไฟล์ทั้งหมดในไดเรกทอรี people
ไม่ว่าไฟล์จะมีนามสกุลหรือไม่ก็ตาม
กรุณาใช้ filename เป็นชื่อตัวแปรของลูป
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด