1. Learn
  2. /
  3. คอร์ส
  4. /
  5. Introduction to Shell

Connected

แบบฝึกหัด

จะระบุไฟล์หลายไฟล์พร้อมกันได้อย่างไร?

คำสั่ง shell ส่วนใหญ่สามารถทำงานกับหลายไฟล์พร้อมกันได้ เพียงระบุชื่อไฟล์หลายชื่อ ตัวอย่างเช่น สามารถดึงคอลัมน์แรกจากไฟล์ข้อมูลตามฤดูกาลทั้งหมดได้ในคำสั่งเดียว ดังนี้:

cut -d , -f 1 seasonal/winter.csv seasonal/spring.csv seasonal/summer.csv seasonal/autumn.csv

แต่การพิมพ์ชื่อไฟล์ซ้ำแล้วซ้ำเล่าเป็นเรื่องที่ไม่สะดวกนัก เพราะเสียเวลา และอาจเผลอลืมไฟล์บางตัวหรือพิมพ์ชื่อซ้ำโดยไม่ตั้งใจ เพื่อแก้ปัญหานี้ shell อนุญาตให้ใช้ wildcards เพื่อระบุรายการไฟล์ด้วยนิพจน์เดียว wildcard ที่ใช้บ่อยที่สุดคือ * ซึ่งหมายถึง "จับคู่กับอักขระศูนย์ตัวหรือมากกว่า" ด้วยวิธีนี้ สามารถย่อคำสั่ง cut ข้างต้นให้สั้นลงได้เป็น:

cut -d , -f 1 seasonal/*

หรือ:

cut -d , -f 1 seasonal/*.csv

คำแนะนำ

100 XP

เขียนคำสั่งเดียวโดยใช้ head เพื่อดึง 3 บรรทัดแรกจากทั้ง seasonal/spring.csv และ seasonal/summer.csv รวมเป็นข้อมูล 6 บรรทัด โดย ไม่ รวมไฟล์ฤดูใบไม้ร่วงหรือฤดูหนาว ให้ใช้ wildcard แทนการพิมพ์ชื่อไฟล์แบบเต็ม