Powershell 更改文件中的行

Powershell 更改文件中的行,powershell,Powershell,我正在尝试编写一个PowerShell脚本,该脚本执行以下操作: 打开一个文本文件 查找与以下模式匹配的行: public interface $A extends InterfaceName 并将其更改为: public interface $A extends InterfaceName<$A> 公共接口$A扩展了接口名 保存文件 您可以使用Get Content从文件中读取数据,使用Foreach Object和-replace搜索匹配项并将其替换,然后使用Set Con

我正在尝试编写一个PowerShell脚本,该脚本执行以下操作:

  • 打开一个文本文件

  • 查找与以下模式匹配的行:

    public interface $A extends InterfaceName
    
    并将其更改为:

    public interface $A extends InterfaceName<$A>
    
    公共接口$A扩展了接口名
    
  • 保存文件


  • 您可以使用
    Get Content
    从文件中读取数据,使用
    Foreach Object
    -replace
    搜索匹配项并将其替换,然后使用
    Set Content
    将其写回文件。正则表达式可用于添加所需的代码:

    # Get the content from a file
    Get-Content 'C:\path_to_your_file.txt' | 
    # Get replace each line if it matches the pattern
    ForEach-Object {$_ -replace "(public interface (\S+) extends InterfaceName)", ' $1<$2>' } |
    # Save the changes back to the file
    Set-Content 'C:\path_to_your_file.txt'
    
    #从文件中获取内容
    获取内容“C:\path_to_your_file.txt”|
    #获取并替换与模式匹配的每一行
    ForEach对象{$\替换“(公共接口(\S+)扩展接口名)”,“$1}|
    #将更改保存回文件
    将内容“C:\path\u设置为\u your\u file.txt”
    
    那么唯一的区别就是行的开头有一个空格?$A代表什么?没有空格的文本?更重要的是,您是否尝试过一些东西?文件中是否有
    $A
    文本?PowerShell变量?任意接口名称的通用占位符?我的错,我更改了问题