удалить все начальные и конечные и пробелы - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу обрезать пробельные символы как с начала, так и с конца строк в текстовом файле, а также пробелы в начале и конце текстового файла.

$content = Get-Content C:\temp\file.txt
$content | Foreach {$_.TrimEnd()} | Set-Content C:\temp\file.txt

Текстовый файл:

      Data2\
            Data2\Documents\
                  Data2\Documents\1.txt
                  Data2\Documents\2.txt
                  Data2\Documents\3.txt
                  Data2\Documents\4.txt
                  Data2\Documents\5.txt
                  Data2\Documents\shares.reg
      Data2\Documents\TEST\
                    Data2\Documents\TEST\5.txt

Так что я бы хотел, чтобы выше было так:

Data2\
Data2\Documents\
Data2\Documents\1.txt
Data2\Documents\2.txt
Data2\Documents\3.txt
Data2\Documents\4.txt
Data2\Documents\5.txt
Data2\Documents\shares.reg
Data2\Documents\TEST\
Data2\Documents\TEST\5.txt

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Если вы читаете файл как массив, вы можете отфильтровать пустые строки, используя оператор сравнения -ne. Вы можете удалить начальные и конечные пробелы в строке с помощью метода Trim().

(Get-Content file.txt).Trim() -ne '' | Set-Content file.txt

Применение Trim() перед сравнением удалит пустые строки и строки только с пробелами. Если вы хотите, чтобы пустые строки по-прежнему отображались как пустые строки, вы можете отменить операции:

((Get-Content file.txt) -ne '').Trim()
0 голосов
/ 26 апреля 2020

Загрузить текст из original.txt, обрезать пробелы и сохранить результат в trimmed.txt.

(Get-Content original.txt).Trim() | Set-Content trimmed.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...