วิธีลบอักขระ n ตัวสุดท้ายออกจากสตริงใน Bash
ใน Bash การตัดช่องว่างต่อท้ายจากอินพุตของผู้ใช้หรือการลบอักขระ n ตัวสุดท้ายออกจากสตริงสามารถใช้เพื่อจัดระเบียบชื่อไฟล์ที่มีนามสกุลที่ไม่ต้องการ:
วิธีที่ 1: ใช้คำสั่งตัด
คำสั่งตัดใน Bash ใช้เพื่อแยกส่วนจากแต่ละบรรทัดของไฟล์ นอกจากนี้ยังสามารถใช้เพื่อแยกช่วงอักขระเฉพาะจากสตริงได้อีกด้วย ในการลบอักขระ n ตัวสุดท้ายออกจากสตริง เราสามารถใช้คำสั่ง cut พร้อมตัวเลือก -c และนี่คือไวยากรณ์:
เสียงสะท้อน 'สตริง' | ตัด -ค -น
ที่นี่ สตริงคือสตริงจริงที่เราต้องการลบอักขระ n ตัวสุดท้าย และ n คือจำนวนอักขระที่เราต้องการลบ ด้านล่างนี้คือตัวอย่างที่ใช้ไวยากรณ์ด้านบน:
#!/bin/bash
สตริง = 'สวัสดีลินุกซ์'
เสียงสะท้อน ' $string ' | ตัด -ค -5
ในตัวอย่างข้างต้น เราใช้คำสั่ง cut เพื่อลบอักขระ 6 ตัวสุดท้ายออกจากสตริง 'Hello Linux' และเอาต์พุตคือ 'Hello'
วิธีที่ 2: การใช้คำสั่ง sed
Sed เป็นโปรแกรมแก้ไขสตรีมที่ทรงพลังที่สามารถใช้เพื่อดำเนินการแปลงข้อความต่างๆ ในไฟล์หรือสตรีมอินพุต ในการลบอักขระ n ตัวสุดท้ายออกจากสตริงโดยใช้ sed เราสามารถใช้ไวยากรณ์คำสั่งต่อไปนี้:
เสียงสะท้อน 'สตริง' | แต่ 's/.\{n\}$//'ในที่นี้ n คือจำนวนอักขระที่เราต้องการลบออกจากส่วนท้ายของสตริง และด้านล่างคือตัวอย่างที่ใช้คำสั่ง sed:
#!/bin/bash
สตริง = 'สวัสดีลินุกซ์'
เสียงสะท้อน ' $string ' | แต่ 's/.\{6\}$//'
ในตัวอย่างข้างต้น เราใช้คำสั่ง sed เพื่อลบอักขระ 6 ตัวสุดท้ายออกจากสตริง 'Hello Linux' และผลลัพธ์คือ 'Hello'
วิธีที่ 3: การใช้การขยายพารามิเตอร์
การขยายพารามิเตอร์เป็นคุณสมบัติใน Bash ที่ช่วยให้เราสามารถจัดการค่าของตัวแปรได้ ในการลบอักขระ n ตัวสุดท้ายออกจากสตริงโดยใช้การขยายพารามิเตอร์ เราสามารถใช้ไวยากรณ์ต่อไปนี้:
${สตริง::-n}ที่นี่ ตัวแปรสตริงประกอบด้วยสตริงจริงที่เราต้องการลบอักขระ n ตัวสุดท้าย และ n คือจำนวนอักขระที่เราต้องการลบ
#!/bin/bashสตริง = 'สวัสดีลินุกซ์'
เสียงสะท้อน ${สตริง::-6}
ในตัวอย่างข้างต้น เราใช้การขยายพารามิเตอร์เพื่อลบอักขระ 4 ตัวสุดท้ายออกจากสตริง 'Hello Linux' และเอาต์พุตคือ 'Hello'
บทสรุป
ในการลบอักขระ n ตัวสุดท้ายออกจากสตริงใน bash คำสั่ง cut คำสั่ง sed และการขยายพารามิเตอร์มีสามวิธี วิธีการเหล่านี้ใช้งานง่ายและมีประโยชน์ในงานเขียนสคริปต์ Bash ต่างๆ ด้วยการใช้วิธีการเหล่านี้ เราสามารถจัดการสตริงและดำเนินการแปลงข้อความใน Bash ได้อย่างง่ายดาย