查找和插入文本的更简洁的方式

时间:2014-12-15 16:41:56

标签: powershell

我可以使用自己的方法轻松完成这项任务,但我发现它非常整洁,想知道如何根据我的需要修改它。

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

}

我想做的是在[兔子]下插入一个文本块,虽然[兔子]可能会出现不止一次,所以在这种情况下,我将不得不随机选择插入我的文本块的文本。文本将存储在变量中。对不起,如果没有解释这么好,我的英语不是最好的。

1 个答案:

答案 0 :(得分:1)

假设您实际上要匹配文字字符串"[rabbit]"而不是正则表达式[rabbit],您可以执行以下操作:

$file = 'C:\path\to\your.txt'

(Get-Content $file) | % {
  $_
  if ($_ -like '*`[rabbit`]*') {
    'text you want to insert'
  }
} | Set-Content $file