Как удалить строку из текстового файла в powershell? - PullRequest
1 голос
/ 02 апреля 2020

Внезапно у меня появляется желание наконец войти в powershell. Прямо сейчас у меня есть способ импортировать текстовый файл, создать текстовый файл и добавить в файл, но есть ли способ удалить элементы из файла? Например, если у меня есть текстовый файл:

test.txt

Quick
Brown
Fox

, я могу импортировать файл с помощью $ textFile = Get-Content -Path ". \ test.txt "

и я могу распечатать каждый элемент и добавить их в новый файл с помощью

foreach($line in $textFile)
{
    Write-Host $line
    Add-Content -Path ".\output.txt" -Value $line
}

Но как я могу удалить или удалить элемент (строку) из * 1013? * файл? Я гуглил решение, но я получаю результаты только для условий, в которых кто-то хочет удалить пустую строку , удалить весь файл или как это сделать в C#. Я думал, что это будет так же интуитивно, как предыдущие команды ..

Спасибо за отзыв!

1 Ответ

3 голосов
/ 02 апреля 2020

Возьмите этот поток в качестве примера, он удаляет строки, резервируя строки, которые не содержат заданного c содержимого.

Вы можете сделать то же самое, зарезервировав строку, которую не хотите удалять.

Get-Content .\text.txt | Where-Object {$_ -notmatch 'the-word-in-specific-line'} | Set-Content out.txt

Если вы хотите удалить вторую строку:

Get-Content .\test.txt | Where-Object {$_ -notmatch 'Brown'} | Set-Content out.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...