วิธีวิเคราะห์ชื่อไฟล์ใน Bash: คู่มือที่ง่าย

การวิเคราะห์ชื่อไฟล์เป็นความต้องการที่พบบ่อยสำหรับหลายๆ งานเขียนสคริปต์ใน Bash ไม่ว่าคุณจะจัดการกับล็อก ไฟล์ข้อมูล หรือทรัพยากรอื่น ๆ การสามารถดึงข้อมูลส่วนเฉพาะจากชื่อไฟล์นั้นสำคัญอย่างยิ่ง ในบล็อกโพสต์นี้ เราจะสำรวจวิธีการวิเคราะห์ชื่อไฟล์ใน Bash โดยใช้คำสั่ง cut ซึ่งเป็นเครื่องมือที่ทรงพลังสำหรับการจัดการข้อความ

ปัญหา

สมมติว่าคุณมีชื่อไฟล์ที่มีโครงสร้างดังนี้:

system-source-yyyymmdd.dat

คุณอาจต้องการดึงองค์ประกอบแต่ละอย่าง เช่น:

  • system
  • source
  • yyyymmdd.dat

ในกรณีนี้ ตัวแบ่งของคุณคือตัวเชื่อม (-) คู่มือนี้จะนำคุณผ่านกระบวนการใช้ Bash เพื่อวิเคราะห์ชื่อไฟล์และดึงส่วนเหล่านี้อย่างมีประสิทธิภาพ

วิธีแก้ปัญหา: การใช้คำสั่ง cut

คำสั่ง cut เป็นเครื่องมือที่มีประสิทธิภาพในระบบที่ใช้ Unix ซึ่งช่วยให้คุณสามารถดึงส่วนต่าง ๆ จากแต่ละบรรทัดของข้อมูลนำเข้าได้ มันสามารถจัดการกับตัวแบ่งและระบุพื้นที่ที่ต้องการส่งกลับ ด้านล่างนี้คือการอธิบายวิธีการใช้คำสั่ง cut เพื่อวิเคราะห์ชื่อไฟล์ของคุณ

ขั้นตอนที่ 1: ทำความเข้าใจกับโครงสร้างคำสั่ง

เพื่อเริ่มต้น โครงสร้างพื้นฐานของคำสั่ง cut คือ:

cut -d'delimiter' -f$field_number
  • -d'delimiter': ตัวเลือกนี้กำหนดตัวอักษรที่แยกฟิลด์ ในกรณีของเราคือ -
  • -f$field_number: ตัวเลือกนี้กำหนดว่าจะดึงฟิลด์ใด (ฟิลด์ที่ถูกนับเริ่มจาก 1)

ขั้นตอนที่ 2: วิเคราะห์ชื่อไฟล์

เพื่อดึงฟิลด์จากชื่อไฟล์ ให้ทำตามขั้นตอนเหล่านี้:

  1. เปิดเทอร์มินัลของคุณ
  2. ใช้คำสั่ง echo ร่วมกับ cut เพื่อวิเคราะห์ชื่อไฟล์:
echo "system-source-yyyymmdd.dat" | cut -d'-' -f2
  1. ผลลัพธ์ การเรียกใช้คำสั่งข้างต้นจะให้ผลลัพธ์:
source

ซึ่งหมายความว่าฟิลด์ที่สองถูกดึงมาได้สำเร็จ

ขั้นตอนที่ 3: การดึงฟิลด์อื่น

คุณสามารถดึงฟิลด์อื่นได้อย่างง่ายดายโดยการเปลี่ยนหมายเลขหลังตัวเลือก -f:

  • เพื่อให้ได้ ฟิลด์แรก (เช่น system):
echo "system-source-yyyymmdd.dat" | cut -d'-' -f1
  • เพื่อให้ได้ ฟิลด์ที่สาม (เช่น yyyymmdd.dat):
echo "system-source-yyyymmdd.dat" | cut -d'-' -f3

ขั้นตอนที่ 4: การดึงฟิลด์หลายฟิลด์ (ไม่บังคับ)

หากคุณต้องการดึงฟิลด์หลายฟิลด์ในครั้งเดียว คุณสามารถใช้เครื่องหมายจุลภาคเพื่อระบุฟิลด์:

echo "system-source-yyyymmdd.dat" | cut -d'-' -f1,2

สิ่งนี้จะให้ผลลัพธ์:

system-source

สรุป

การวิเคราะห์ชื่อไฟล์ใน Bash นั้นง่ายดายโดยใช้คำสั่ง cut โดยการระบุตัวแบ่งและหมายเลขฟิลด์ที่ถูกต้อง คุณสามารถดึงส่วนใด ๆ ของชื่อไฟล์ได้อย่างรวดเร็วตามที่ต้องการ เทคนิคเล็ก ๆ แต่ทรงพลังนี้สามารถทำให้สคริปต์และงานการประมวลผลข้อมูลของคุณเร็วขึ้นได้อย่างมาก

ไม่ว่าชื่อไฟล์ของคุณจะซับซ้อนเพียงใด การเข้าใจพื้นฐานของการวิเคราะห์ไฟล์จะเป็นประโยชน์ต่อการทำงานของคุณในบทบัญญัติ Bash


ตอนนี้คุณพร้อมที่จะวิเคราะห์ชื่อไฟล์อย่างมีประสิทธิภาพด้วย Bash! สร้างสคริปต์ที่มีความสุข!