Powershell, как получить нужные столбцы из файла - PullRequest
1 голос
/ 02 апреля 2020

In windows powershell Входные данные файла

WL363998 google.com 172.217.166.46 32 7 WL363998 fb.com 157.240.16.35 32 7 WL363998 bing.com 13.107.21.200 32 6

Файл, который мне нужен

google.com 172.217.166.46 fb.com 157.240.16.35 bing.com 13.107.21.200

Ответы [ 2 ]

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

Вы можете попробовать что-то вроде этого:

(& {
    foreach ($line in Get-Content -Path .\data.txt)
    {
        $columns = $line -split '\s+'
        [PSCustomObject]@{
            Domain = $columns[1]
            IP = $columns[2]
        }
    } 
} | Out-String).Trim() | Out-File -FilePath output.txt -NoNewline

Объяснение:

  • Читайте каждую строку с Get-Content в массив строк.
  • Разбить каждую строку по всем пробелам с помощью \s+. Посмотрите на about_split для получения дополнительной информации.
  • Вставьте 1-й и 2-й столбцы в PSCustomObject.
  • Трубу в Out-String, чтобы мы могли Trim() конечные пробелы.
  • Передайте Out-File, чтобы создать новый выходной файл, убедившись, что мы не включаем новые строки с -NoNewline (необязательно).

output.txt

Domain     IP
------     --
google.com 172.217.166.46
fb.com     157.240.16.35
bing.com   13.107.21.200
0 голосов
/ 02 апреля 2020

Попробуйте это:

cat "Filepath" | %{$_.split("`t")[1,2] -join "`t"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...