Установить все пробелы в журнале на один пробел - PullRequest
0 голосов
/ 27 февраля 2020

Привет, у меня есть файл с журналами, некоторые поля этих журналов разделены пробелом, а другие - табуляцией или двумя пробелами. Как я могу установить все пробелы в один пробел с помощью powershell?

что-то аналогично awk в linux bash, потому что у меня есть одно поле, которое содержит в своем значении строки следующим образом: "type: Windows Resources"

awk '{print "  $1 " " $2 " " $3 " " $5 " " $6 " " $7 " " $8 " " $9 " " $10}'

Ответы [ 3 ]

0 голосов
/ 27 февраля 2020
$test = "                                             Testing removal     of spaces"
$SpacesConverted = $test -replace "[ ]{1,1000}"," "
$SpacesConverted

Вывод: Testing removal of spaces

Я занимаюсь заменой пробелов, поиском любого пробела от 1 до 1000 и преобразованием его в один пробел. Если у вас есть более 1000 пробелов в любой части журнала, просто увеличьте это число.

Если вы хотите запустить это для файла ...

$File = "c:\file123.txt"
gc $File -replace "[ ]{1,1000}"," " | sc $File
0 голосов
/ 27 февраля 2020

Приведенное ниже заменит только 2 или более пробелов одним пробелом.

((Get-Content logFile.txt) -replace '\s{2,}',' ') >> logFileTemp.txt;
Copy-Item logFileTemp.txt logFile.txt -Force


0 голосов
/ 27 февраля 2020

Примерно так: замените 1 или несколько пробелов:

echo "hi   hi`t`thi" > file1.txt

cat file1.txt
hi   hi         hi

(cat file1.txt) -replace '\s+',' ' | set-content file2.txt

cat file2.txt
hi hi hi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...