假设我有$key
,$string
用于匹配,$file
要添加。
如果$key
中的某一行包含 $string
,请将$key="b"
添加到该行的末尾。
例如:
$string="z"
,
$file
a
b
c
包含:
$file
新a
b z
c
包含:
$file
如何在PowerShell中以最简单的方式完成?
注意! Windows
是一个实际文件,而不是程序中的某个数组
答案 0 :(得分:0)
您可能必须迭代每一行并检查该行是否包含密钥:
$newContent = Get-Content $file | Foreach {
if ($_ -like "*$key*")
{
"$_ $string"
}
else
{
$_
}
}
$newContent | Set-Content $file
答案 1 :(得分:0)
$file="C:\temp\report.csv"
$Newfile="C:\temp\report2.csv"
$KeyToSearch="b"
$StringToAdd="z"
Get-Content $file |
%{if ($_ -like "*$KeyToSearch*") {"$_ $StringToAdd" } else {$_}} |
out-file -FilePath $Newfile -Append