วิธีแยกชื่อไฟล์และนามสกุลใน Bash

Withi Yaek Chux Fil Laea Namskul Ni Bash



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

แยกชื่อไฟล์และนามสกุลใน Bash

มีหลายวิธีในการแยกชื่อไฟล์และนามสกุลใน Bash ต่อไปนี้เป็นสามวิธีทั่วไป:







1: การใช้คำสั่งชื่อฐาน

เดอะ ชื่อฐาน คำสั่งส่งคืนชื่อไฟล์จากเส้นทางไฟล์และแยกชื่อไฟล์และนามสกุล คุณสามารถใช้ ชื่อฐาน สั่งกับ – คำต่อท้าย ตัวเลือกซึ่งลบส่วนต่อท้ายที่ระบุออกจากชื่อไฟล์ตามรหัสด้านล่าง:



#!/bin/bash
#ตัวอย่างเส้นทางไฟล์
file_path = '/path/to/file.txt'

#แยกชื่อไฟล์
ชื่อไฟล์ =$ ( ชื่อฐาน $file_path )

#แยกนามสกุล
ส่วนขยาย = ' ${ชื่อไฟล์##*.} '

เสียงสะท้อน 'ชื่อไฟล์: $ชื่อไฟล์ '
เสียงสะท้อน 'ส่วนขยาย: $นามสกุล '







2: การใช้การขยายพารามิเตอร์

เดอะ การขยายพารามิเตอร์ ไวยากรณ์เป็นคุณลักษณะที่มีประสิทธิภาพของ Bash ที่ช่วยให้คุณสามารถจัดการสตริงได้ หากต้องการแยกชื่อไฟล์และนามสกุลโดยใช้การขยายพารามิเตอร์ คุณสามารถใช้ไฟล์ ${พารามิเตอร์##word} ไวยากรณ์ ซึ่งลบการจับคู่ที่ยาวที่สุดของรูปแบบที่ระบุออกจากจุดเริ่มต้นของพารามิเตอร์ตามรหัสด้านล่าง:

#!/bin/bash
#ตัวอย่างเส้นทางไฟล์
file_path = '/path/to/file.txt'
#แยกชื่อไฟล์
ชื่อไฟล์ = ' ${file_path##*/} '
#แยกนามสกุล
ส่วนขยาย = ' ${ชื่อไฟล์##*.} '
เสียงสะท้อน 'ชื่อไฟล์: $ชื่อไฟล์ '
เสียงสะท้อน 'ส่วนขยาย: $นามสกุล '



3: การใช้ตัวแปร IFS (Internal Field Separator)

เดอะ ตัวแปร IFS ถูกใช้โดย Bash เพื่อแยกสตริงออกเป็นฟิลด์โดยการตั้งค่า ตัวแปร IFS ไปยังตัวคั่นเส้นทาง (“/”) คุณสามารถแยกชื่อไฟล์และนามสกุลจากพาธของไฟล์ผ่านตัวแปรนี้โดยใช้โค้ดด้านล่าง:

#!/bin/bash
#ตัวอย่างเส้นทางไฟล์
file_path = '/path/to/file.txt'
# ตั้งค่า IFS เป็น '/'
ไอเอฟเอส = '/' อ่าน -ร -ก ชิ้นส่วน <<< ' $file_path '

#แยกชื่อไฟล์
ชื่อไฟล์ = ' ${ส่วน[-1]} '
#แยกนามสกุล
ส่วนขยาย = ' ${ชื่อไฟล์##*.} '
เสียงสะท้อน 'ชื่อไฟล์: $ชื่อไฟล์ '
เสียงสะท้อน 'ส่วนขยาย: $นามสกุล '

บทสรุป

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