PowerShell: วิธีแทรกบรรทัดหลังจากจับคู่รูปแบบ
บ่อยครั้งคุณอาจต้องการใช้ PowerShell เพื่อแทรกบรรทัดใหม่ลงในไฟล์หลังจากรูปแบบการจับคู่ที่เฉพาะเจาะจง
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
(Get-Content $my_file) |
Foreach-Object {
$_
if ($_ -match "Celtics")
{
"Some New Text"
}
} | Set-Content $my_file
ตัวอย่างนี้ค้นหารูปแบบ “Celtics” ในบรรทัดของไฟล์ที่ระบุในเส้นทางในตัวแปร $my_file จากนั้นจึงเพิ่มบรรทัดใหม่พร้อมข้อความ “Some New Text” หลังบรรทัดเฉพาะนี้ .
หากไม่พบสตริง “Celtics” ในบรรทัดใดๆ ในไฟล์ ก็จะไม่มีการเพิ่มบรรทัดใหม่
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีแทรกบรรทัดหลังจากจับคู่รูปแบบใน PowerShell
สมมติว่าเรามีไฟล์ข้อความในไดเรกทอรีปัจจุบันของเราชื่อ teams.txt ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ
เราสามารถใช้ Get-Content cmdlet เพื่อดูเนื้อหาของไฟล์นี้:
สมมติว่าเราต้องการค้นหาบรรทัดที่มีสตริง “Celtics” จากนั้นแทรกบรรทัดข้อความใหม่หลังบรรทัดนี้ในไฟล์
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
(Get-Content $my_file) |
Foreach-Object {
$_
if ($_ -match "Celtics")
{
"Some New Text"
}
} | Set-Content $my_fileภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่ามีการเพิ่มบรรทัดใหม่ลงในไฟล์หลังบรรทัดที่มีสตริง “Celtics” เช่นเดียวกับที่เราระบุไว้
โปรดทราบว่าเราใช้ Set-Content cmdlet เพื่อตั้งค่าเนื้อหาของไฟล์ที่มีอยู่โดยส่งออกเนื้อหาที่มีอยู่ทั้งหมดไปยังไฟล์พร้อมกับบรรทัดข้อความใหม่
หมายเหตุ: คุณสามารถดูเอกสารประกอบทั้งหมดสำหรับ Set-Content cmdlet ใน PowerShell ได้ที่นี่

