เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

จะรันหลายคำสั่งในลูปเดียวได้อย่างไร?

การแสดงชื่อไฟล์มีประโยชน์สำหรับการดีบัก แต่จุดประสงค์หลักของลูปคือการทำงานกับไฟล์หลายไฟล์พร้อมกัน ลูปด้านล่างนี้แสดงบรรทัดที่สองของไฟล์ข้อมูลแต่ละไฟล์:

for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done

ลูปนี้มีโครงสร้างเดียวกับลูปที่เคยเห็นมาแล้ว ความแตกต่างเพียงอย่างเดียวคือเนื้อหาของลูปเป็น pipeline ของสองคำสั่งแทนที่จะเป็นคำสั่งเดียว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Introduction to Shell

ดูคอร์ส

คำแนะนำการฝึกหัด

เขียนลูปเพื่อแสดงรายการล่าสุดของเดือนกรกฎาคม 2017 (2017-07) จากทุกไฟล์ในชุดข้อมูล seasonal ผลลัพธ์ควรคล้ายกับ:

grep 2017-07 seasonal/winter.csv | tail -n 1

แต่ให้ทำงานกับทุกไฟล์ใน seasonal แยกกัน ใช้ file เป็นชื่อตัวแปรของลูป และวนลูปผ่านรายการไฟล์ seasonal/*.csv (แทนที่จะเป็น 'seasonal/winter.csv' อย่างในตัวอย่าง)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง

เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา

เริ่มแบบฝึกหัด