Когда я хочу выбрать конкретный текст из вывода в powershell, я мог бы использовать
select-string -Pattern "whatever:"
И он распечатает любой столбец. Но когда я пытаюсь сделать то же самое на этом выходе, он вместо этого выводит строку вместо столбца.
Поэтому я делаю так:
> /c0 show | select-string -Pattern "EID:Slt"
И вместо того, чтобы показывать столбец, это показывает:
> EID:Slt DID State DG Size Intf Med SED PI SeSz Model
> Sp
Единственный способ, которым я мог понять, – заменить всех персонажей пустым пространством, но это как-то грязно, чтобы сделать это, кто-нибудь еще может помочь с вводом?
Как я пытаюсь заставить его отображать выходной текст: 32: 1, 32: 2, 32: 3, […]
Controller = 0 Status = Success Description = Show Drive Information Succeeded. Drive Information : ================= -------------------------------------------------------------------------- EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp -------------------------------------------------------------------------- 32:0 0 Onln 0 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:1 1 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:2 2 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:3 3 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:4 4 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:5 5 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:6 6 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U 32:7 7 Onln 1 3.637 TB SATA HDD N N 512B ST4000NM0033-9ZM170 U --------------------------------------------------------------------------
Не могли бы вы просто соответствовать шаблону данных в нужном столбце? Первый столбец всегда находится в начале строки, имеет две цифры, за которыми следует двоеточие и одна цифра. Вы можете извлечь их из этого:
Select-String -Pattern "^\d{2}:\d" -AllMatches | % { $_.Matches.Value }
Чтобы получить данные из всей таблицы с именами свойств из строки заголовка, лучше проанализировать их как поля фиксированной длины. Но вышеуказанного должно быть достаточно, если этот столбец – это все, что вам нужно.