PowerShell:
การค้นหาและแทนที่ข้อความ
วิธีการ:
PowerShell ทำให้การค้นหาและแทนที่ค่อนข้างง่ายดาย ลองใช้ -replace
สำหรับสตริง และ Get-Content
ร่วมกับ Set-Content
สำหรับไฟล์
แทนที่ข้อความในสตริง:
$text = "I love PowerShell"
$updatedText = $text -replace "love", "adore"
$updatedText
ตัวอย่างผลลัพธ์:
I adore PowerShell
แทนที่ข้อความในไฟล์:
$file = "example.txt"
$content = Get-Content $file
$content | ForEach-Object { $_ -replace "oldWord", "newWord" } | Set-Content $file
ไม่มีผลลัพธ์ที่นี่ แต่ example.txt
ตอนนี้มี “oldWord” ทั้งหมดถูกแทนที่ด้วย “newWord”
ลงลึก
ตั้งแต่เริ่มต้นของการแก้ไขข้อความ การค้นหาและแทนที่ได้เป็นหัวมุมหลักแล้ว นึกถึงมันเหมือนกับฟังก์ชั่นค้นหาและแทนที่ในตัวประมวลผลคำ แต่ถูกปรับให้เหมาะสำหรับความต้องการด้านการเขียนโค้ด
ในอดีต พ่อมดบรรทัดคำสั่งใช้เครื่องมือเช่น sed
ใน Unix PowerShell นำฟังก์ชันนี้เข้ามาในภาษาสคริปต์ของมัน ทำไมมันเจ๋ง? เพราะมันผูกกับอ็อบเจ็กต์ ไม่ใช่แค่ข้อความ นั่นหมายความว่าคุณสามารถปรับไม่เพียงแค่โค้ดและไฟล์ข้อความ แต่ยังรวมถึงโครงสร้างข้อมูลและอื่นๆ
ทางเลือกอื่น? แน่นอน เรามีเครื่องมือแก้ไขข้อความและ IDE ด้วยฟังก์ชั่นค้นหาและแทนที่ของตัวเอง สคริปต์แบทช์ หรือแม้แต่ไลบรารีโปรแกรมมิ่งที่ออกแบบมาสำหรับการจัดการข้อความ
รายละเอียดการใช้งาน? PowerShell ใช้ regex นั่นหมายความว่าคุณสามารถแทนที่ของตามรูปแบบ ไม่ใช่แค่คำที่เฉพาะเจาะจง และด้วยสคริปต์ PowerShell คุณสามารถทำให้การดำเนินการเหล่านี้เป็นอัตโนมัติในจำนวนไฟล์จำนวนมาก ช่วยให้คุณประหยัดเวลาได้มาก