เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

การแปลงเคส

เวอร์ชันล่าสุดของ ทุบตี รองรับการแปลงสตริงบน/ตัวพิมพ์เล็ก ทุบตี

มีการขยายพารามิเตอร์สี่ตัวและสองตัวเลือกสำหรับ ประกาศ สั่งให้สนับสนุน

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

แนวทางทั่วไปในการแก้ไขปัญหานี้คือ ทำให้ปกติ ข้อมูลเข้าของผู้ใช้ นั่นคือแปลงมัน


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

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



#! / bin / ทุบตี

# ul-declare: สาธิตการแปลงกรณีผ่านประกาศประกาศ -u upper

ประกาศ -l ต่ำกว่า


ถ้า [[ $1 ]]; แล้ว

upper="$1" lower="$1" echo $upper echo $lower

fi

#! / bin / ทุบตี

# ul-declare: สาธิตการแปลงกรณีผ่านประกาศประกาศ -u upper

ประกาศ -l ต่ำกว่า


ถ้า [[ $1 ]]; แล้ว

upper="$1" lower="$1" echo $upper echo $lower

fi


ในสคริปต์ข้างต้น เราใช้ ประกาศ เพื่อสร้างสองตัวแปร บน และ ลด. เรากำหนดค่าของอาร์กิวเมนต์บรรทัดคำสั่งแรก (พารามิเตอร์ตำแหน่ง 1) ให้กับตัวแปรแต่ละตัวแล้วแสดงบนหน้าจอ:



[me@linuxbox ~]$ ul-ประกาศ aBc

เอบีซี

abc

[me@linuxbox ~]$ ul-ประกาศ aBc

เอบีซี

abc


อย่างที่เราเห็น อาร์กิวเมนต์บรรทัดคำสั่ง ("aBc") ถูกทำให้เป็นมาตรฐาน

นอกจาก ประกาศมีการขยายพารามิเตอร์สี่ตัวที่ทำการแปลงตัวพิมพ์ใหญ่/ตัวพิมพ์เล็ก:


ตาราง 34-1: การขยายพารามิเตอร์การแปลงกรณีและปัญหา


รูปแบบผลลัพธ์

รูปแบบผลลัพธ์

${พารามิเตอร์- ขยายมูลค่าของ พารามิเตอร์ เป็นตัวพิมพ์เล็กทั้งหมด


ภาพ

${พารามิเตอร์,} ขยายมูลค่าของ พารามิเตอร์ เปลี่ยนเฉพาะครั้งแรก

ตัวอักษรเป็นตัวพิมพ์เล็ก


ภาพ

${พารามิเตอร์- ขยายมูลค่าของ พารามิเตอร์ เป็นตัวพิมพ์ใหญ่ทั้งหมด


ภาพ


ภาพ

${พารามิเตอร์^} ขยายมูลค่าของ พารามิเตอร์ เปลี่ยนเฉพาะครั้งแรก

ตัวอักษรเป็นตัวพิมพ์ใหญ่ (ตัวพิมพ์ใหญ่)


ภาพ


นี่คือสคริปต์ที่แสดงให้เห็นถึงการขยายเหล่านี้:



#! / bin / ทุบตี

# ul-param: สาธิตการแปลงตัวพิมพ์ผ่านการขยายพารามิเตอร์ if [[ $1 ]]; แล้ว

เสียงสะท้อน $1,,}

เสียงสะท้อน ${1,} เสียงสะท้อน ${1^} เสียงสะท้อน ${1^}

fi

#! / bin / ทุบตี

# ul-param: สาธิตการแปลงตัวพิมพ์ผ่านการขยายพารามิเตอร์ if [[ $1 ]]; แล้ว

เสียงสะท้อน $1,,}

เสียงสะท้อน ${1,} เสียงสะท้อน ${1^} เสียงสะท้อน ${1^}

fi


นี่คือสคริปต์ที่ใช้งานจริง:



[me@linuxbox ~]$ อัล-param aBc

เอบีซี เอบีซี เอบีซี

เอบีซี

[me@linuxbox ~]$ อัล-param aBc

เอบีซี เอบีซี เอบีซี

เอบีซี


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


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: