PowerShell:
Tìm kiếm và thay thế văn bản
Làm thế nào:
PowerShell làm cho việc tìm kiếm và thay thế trở nên khá đơn giản. Hãy xem -replace
cho chuỗi, và Get-Content
cùng với Set-Content
cho tệp.
Thay thế văn bản trong chuỗi:
$text = "I love PowerShell"
$updatedText = $text -replace "love", "adore"
$updatedText
Kết quả mẫu:
I adore PowerShell
Thay thế văn bản trong tệp:
$file = "example.txt"
$content = Get-Content $file
$content | ForEach-Object { $_ -replace "oldWord", "newWord" } | Set-Content $file
Ở đây không có kết quả, nhưng example.txt
giờ đã có mỗi “oldWord” được thay bằng “newWord”.
Sâu hơn
Từ khi chỉnh sửa văn bản ra đời, tìm kiếm và thay thế đã trở thành một trụ cột. Hãy nghĩ về nó như là chức năng tìm kiếm và thay thế trong trình xử lý từ nhưng được tăng cường cho nhu cầu lập trình.
Ngày xưa, những phù thủy dòng lệnh sử dụng công cụ như sed
trong Unix. PowerShell đã đưa chức năng này vào ngôn ngữ kịch bản của mình. Tại sao nó cool? Bởi vì nó gắn liền với đối tượng, không chỉ là văn bản. Điều đó có nghĩa là bạn có thể điều chỉnh không chỉ mã và tệp văn bản mà còn cả cấu trúc dữ liệu và hơn thế nữa.
Các phương án khác? Chắc chắn rồi. Bạn có các trình soạn thảo văn bản và IDE với chức năng tìm và thay thế riêng của chúng, kịch bản hàng loạt, hoặc thậm chí là thư viện lập trình được thiết kế để thao tác với văn bản.
Chi tiết triển khai? PowerShell hỗ trợ regex. Điều đó có nghĩa là bạn có thể thay thế dựa trên các mẫu, không chỉ là từ cố định. Và, với kịch bản PowerShell, bạn có thể tự động hóa các thao tác này trên một số lượng lớn tệp, tiết kiệm cho bạn một lượng thời gian đáng kể.