我可以使用自己的方法轻松完成这项任务,但我发现它非常整洁,想知道如何根据我的需要修改它。
Get-ChildItem "C:\Users\gerhardl\Documents\My Received Files" -Filter *.txt | `
Foreach-Object{
$content = Get-Content $_.FullName
#filter and save content to the original file
$content | Where-Object {$_ -match '[rabbit]'} | Set-Content $_.FullName
}
我想做的是在[兔子]下插入一个文本块,虽然[兔子]可能会出现不止一次,所以在这种情况下,我将不得不随机选择插入我的文本块的文本。文本将存储在变量中。对不起,如果没有解释这么好,我的英语不是最好的。
答案 0 :(得分:1)
假设您实际上要匹配文字字符串"[rabbit]"
而不是正则表达式[rabbit]
,您可以执行以下操作:
$file = 'C:\path\to\your.txt'
(Get-Content $file) | % {
$_
if ($_ -like '*`[rabbit`]*') {
'text you want to insert'
}
} | Set-Content $file