gpt4 book ai didi

Powershell:替换文件中特定行上的文本

转载 作者:行者123 更新时间:2023-12-02 23:37:09 25 4
gpt4 key购买 nike

我有一些看起来像这样的文本文件:

正文 05-09-18
文字 17-09-18
文字 17-09-18

文字 24-09-18
文本 17-10-18

在 .txt 文件的第 15 行,我试图将 24-09-18 更改为 24-09-2018。
只改变这个而不改变其他的。

  • [15] 用空文件覆盖 .txt 文件。
  • 如果 [15] 不存在,则它会更改 .txt 文件中的所有日期。

  • 到目前为止,这是我一直在做的事情:
    $infolder = Get-ChildItem C:\folder\*.txt -rec
    foreach ($file in $infolder)
    {
    (Get-Content $file.PSPath) |
    Foreach-Object { $_[15] -replace '-18','-2018'} |
    Set-Content $file}

    最佳答案

    Get-Content如果用作赋值语句的右侧,则将文件的内容读入数组。因此,您可以执行以下操作:

     $filecontent = Get-Content -Path C:\path\to\file.txt
    $filecontent[15] = $filecontent[15] -replace '-18','-2018'
    $Set-Content -Path C:\path\to\file.txt -Value $filecontent

    您可以在 Get-Content 的 Microsoft 页面上找到更详细的文档。 , -replace , 和 Set-Content .

    注意:PowerShell 数组是零原点。如果要更改第十六行,请使用上面的代码。如果要更改第十五行,请使用 $filecontent[14]而不是 $filecontent[15] .

    关于Powershell:替换文件中特定行上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52523104/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com