Как удалить определенный элемент, включающий содержимое в текстовый файл, используя PowerShell? - PullRequest
0 голосов
/ 12 ноября 2019

У меня есть текстовый файл с этим форматом.

Configuration
;
;   Authors: James
;   Created: 10/11/2018
;
;   Accepted

Name
    James
Class
    A2
Birthday
    1 September 1982
Family Member
    4
First Year Salary Number
    100 USD
Second Year Salary Number
    150 USD
Company Name
    Unlimited Company
Total Salary Number
    1300 USD
ExpectedSalaryNumber
    FY:350 USD
    SY:450 USD
    TS:2000 USD

Я хочу удалить весь контент, если заголовок содержит "Salary Number" и "SalaryNumber", также удалить заголовок "Configuration.... " и вывестифайл после удаления. Мой файл с ожидаемым результатом выглядит так:

Name
    James
Class
    A2
Birthday
    1 September 1982
Family Member
    4
Company Name
    Unlimited Company

Я пробовал это, но он просто выводит содержимое, которое я удаляю. Любой может помочь мне, пожалуйста. Большое спасибо.

$name = $false 
& { 
  switch -regex -file .\Configuration.TXT {
    '^*Salary Number*, ^*SalaryNumber*' { $name = $true; continue }
    '^\s' { if ($name) { $_.Trim() }}
    '^\S' { if ($name) { return } }
  }
} | Remove-Item | Out-File .\Output.txt

Обновлен формат файла

ExpectedSalaryNumber
        FY:350 USD
        (White Space)
        SY:450 USD
        (White Space)
        TS:2000 USD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...