ทุบตีสตริงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

Bash Lowercase Uppercase Strings



ข้อมูลสตริงใช้เพื่อวัตถุประสงค์ที่แตกต่างกันในคำสั่ง bash หรือสคริปต์การเขียนโปรแกรม บางครั้งเราจำเป็นต้องเปลี่ยนตัวพิมพ์ของสตริงเพื่อให้ได้ผลลัพธ์ที่ต้องการ สตริงสามารถแปลงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กได้ ข้อมูลสตริงถูกแปลงโดยใช้คำสั่ง 'tr' ใน bash เวอร์ชันเก่า ในกรณีนี้ คำหลัก ' : บน' ใช้สำหรับตัวพิมพ์ใหญ่และคีย์เวิร์ด ': ต่ำกว่า' ใช้สำหรับตัวพิมพ์เล็ก คุณสามารถไปที่ลิงก์บทช่วยสอนต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง 'tr' สำหรับการแปลงตัวพิมพ์ของสตริง

คุณสามารถแปลงตัวพิมพ์ของสตริงได้ง่ายขึ้นโดยใช้คุณลักษณะใหม่ของ Bash 4 '^' สัญลักษณ์ใช้เพื่อแปลงอักขระตัวแรกของสตริงใด ๆ เป็นตัวพิมพ์ใหญ่และ '^^' สัญลักษณ์ใช้เพื่อแปลงสตริงทั้งหมดเป็นตัวพิมพ์ใหญ่ ',' สัญลักษณ์ใช้เพื่อแปลงอักขระตัวแรกของสตริงเป็นตัวพิมพ์เล็กและ ',,' สัญลักษณ์ใช้เพื่อแปลงสตริงทั้งหมดเป็นตัวพิมพ์เล็ก







การแปลงกรณีของ String

ตัวอย่าง #1:

รันคำสั่งต่อไปนี้เพื่อกำหนดอินพุตสตริงให้กับตัวแปร $name และคำสั่งถัดไปจะใช้ในการพิมพ์ค่าดั้งเดิม พิมพ์ค่าโดยแปลงอักษรตัวแรกเป็นตัวพิมพ์ใหญ่ และพิมพ์ค่าโดยแปลงตัวอักษรทั้งหมดของสตริงเป็นตัวพิมพ์ใหญ่



$ชื่อ='ฟ้ามีดา'
$โยนออก $name
$โยนออก ${ชื่อ^}
$โยนออก ${ชื่อ^^}



ตัวอย่าง #2:

ตัวอย่างต่อไปนี้แสดงวิธีการแปลงอักขระตัวแรกของสตริงใด ๆ เป็นตัวพิมพ์ใหญ่โดยการจับคู่กับอักขระเฉพาะ ที่นี่ อักขระตัวแรกถูกเปรียบเทียบกับ 'l' และ 'h' โดยสองคำสั่งสุดท้าย





$งาน='ลินุกซ์ชิน'
$โยนออก $site
$โยนออก $ {ไซต์ ^ l}
$โยนออก ${ไซต์^h}

ตัวอย่าง #3:

ในตัวอย่างต่อไปนี้ $ภาษา ตัวแปรใช้เพื่อเก็บค่าข้อความและคำสั่งที่สามใช้เพื่อปกปิดอักขระตัวแรกของแต่ละคำของสตริงเป็นตัวพิมพ์ใหญ่โดยที่อักขระตัวแรกคือ 'p' คำสั่งสุดท้ายใช้เพื่อจับคู่อักขระตัวแรกของแต่ละคำในข้อความด้วย 'p' และ 'j' และแปลงเป็นตัวพิมพ์ใหญ่



$ภาษา='python perl java php c #'
$โยนออก $ภาษา
$โยนออก ${ภาษา^^p)}
$โยนออก ${ภาษา^^[p,j]}

ตัวอย่าง #4:

สร้างไฟล์ฐานชื่อ case1.sh ด้วยรหัสต่อไปนี้ ในตัวอย่างนี้ อินพุตของผู้ใช้จะอยู่ในตัวแปร $ ปี และค่าของตัวแปรนี้จะถูกพิมพ์ด้วยสตริงอื่นโดยแปลงอักขระตัวแรกเป็นตัวพิมพ์ใหญ่

#!/bin/bash
อ่าน -NS 'คุณชอบดนตรีไหม? 'ปีที่
คำตอบ=$ {ปี ^}
โยนออก 'คำตอบของคุณคือ$answer. '

เรียกใช้สคริปต์

$ทุบตีcase1.sh

ตัวอย่าง #5:

สร้างไฟล์ทุบตีชื่อ case2.sh ด้วยรหัสต่อไปนี้ ค่าสตริงที่นำมาจากผู้ใช้จะถูกแปลงเป็นตัวพิมพ์ใหญ่และเก็บไว้เป็นตัวแปร $answer . หากค่าของตัวแปรนี้ตรงกับ ' เพิ่ม' แล้วค่าของ $a, และ $ b จะเพิ่มและพิมพ์ หากค่าของตัวแปรนี้ตรงกับ ' ลบ' แล้วผลการลบของ $a, และ $ b จะถูกพิมพ์ สคริปต์จะพิมพ์ ' คำตอบไม่ถูกต้อง ' หากค่าที่ผู้ใช้ให้มาไม่ตรงกับ 'เพิ่ม' หรือ ' ลบ '.

#!/bin/bash
ถึง=สิบห้า
NS=ยี่สิบ
อ่าน -NS 'คุณต้องการเพิ่มหรือลบ? 'ปีที่
คำตอบ=$ {ปี ^^}
ถ้า [ $answer=='เพิ่ม' ];แล้ว
โยนออก 'ผลลัพธ์ของการบวก=$((a+b)) '
เอลฟ์ [ $answer=='หัก' ];แล้ว
โยนออก 'ผลลัพธ์ของการลบ =$((a-b)) '
อื่น
โยนออก 'คำตอบที่ไม่ถูกต้อง'
เป็น

เรียกใช้สคริปต์

$ทุบตีcase2.sh

ตัวอย่าง #6:

สร้างไฟล์ทุบตีชื่อ case3.sh ด้วยสคริปต์ต่อไปนี้ ในตัวอย่างนี้ ค่าข้อความจะถูกนำมาจากผู้ใช้และเก็บไว้ในตัวแปร $data . ถัดไป รายการอักขระที่คั่นด้วยเครื่องหมายจุลภาคจะถูกนำมาเป็นอินพุตสำหรับการแปลงตัวพิมพ์และเก็บไว้ในตัวแปร $list . ตัวแปรถูกใช้เพื่อจับคู่อักขระของรายการด้วยค่าของ $data . สคริปต์จะพิมพ์ผลลัพธ์หลังจากแปลงอักขระเป็นตัวพิมพ์ใหญ่ที่ตรงกัน

#!/bin/bash
อ่าน -NS 'ป้อนข้อมูลข้อความ: 'ข้อมูล
อ่าน -NS 'พูดถึงตัวอักษรด้วยเครื่องหมายจุลภาคที่จะแปลงเป็นตัวพิมพ์ใหญ่หรือไม่: 'รายการ
โยนออก -NS 'ข้อความที่เน้นคือ : '
โยนออก ${ข้อมูล^^[$list]}

เรียกใช้สคริปต์

$ทุบตีcase3.sh

ตัวอย่าง #7:

สร้างไฟล์ทุบตีชื่อ case4.sh ด้วยรหัสต่อไปนี้ ที่นี่, ,, ตัวดำเนินการใช้เพื่อแปลงค่าที่นำมาจากผู้ใช้และเปรียบเทียบกับตัวแปร $ชื่อผู้ใช้ และ $รหัสผ่าน . หากค่าทั้งสองตรงกัน สคริปต์จะพิมพ์ ผู้ใช้ที่ถูกต้อง มิฉะนั้นจะพิมพ์ ผู้ใช้ไม่ถูกต้อง .

#!/bin/bash
ชื่อผู้ใช้='ผู้ดูแลระบบ'
รหัสผ่าน='ป๊อป890'
อ่าน -NS 'ป้อนชื่อผู้ใช้:'ยู
อ่าน -NS 'ใส่รหัสผ่าน: 'NS
ผู้ใช้=$ {คุณ ,,}
ผ่าน=${p,,}
ถ้า [ $ชื่อผู้ใช้==$user ] && [ $รหัสผ่าน==$pass ];แล้ว
โยนออก 'ผู้ใช้ที่ถูกต้อง'
อื่น
โยนออก 'ผู้ใช้ไม่ถูกต้อง'
เป็น

เรียกใช้สคริปต์

$ทุบตีcase4.sh

บทสรุป:

หวังว่าบทช่วยสอนนี้จะช่วยให้คุณเรียนรู้งานการแปลงเคสในวิธีที่ง่ายขึ้นโดยใช้คุณสมบัติใหม่ของ bash ดูข้อมูลเพิ่มเติม วีดีโอ !