Extrahieren Sie Spalten aus der textbasierten Tabellenausgabe

Catalin

qfarm /loadBefehl zeigt mir die Last von meinen Servern. Ausgabe:

PS> qfarm /load

Server Name           Server Load  Load Throttling Load  Logon Mode
--------------------  -----------  --------------------  ------------------
SERVER-01             400          0                     AllowLogons
SERVER-02             1364         OFF                   AllowLogons
SERVER-03             1364         OFF                   AllowLogons
SERVER-04             1000         0                     AllowLogons
SERVER-05             700          0                     AllowLogons
SERVER-06             1200         0                     AllowLogons

Ich muss nur die erste Spalte (Servername) und die zweite Spalte (Serverlast) anzeigen und diese durchlaufen, um später eine Logik zu erstellen, aber es scheint, dass die Powershell sie nicht als Objekt mit Eigenschaften sieht:

PS> qfarm /load | Select -ExpandProperty "Server Name"
Select-Object : Property "Server Name" cannot be found.

Gibt es eine andere Möglichkeit, wie einen Tisch oder so?

Bill_Stewart

Eine Möglichkeit, dies zu tun, besteht darin, Objekte aus der Ausgabe des Befehls zu erstellen. Folgendes getestet:

#requires -version 3

# sample data output from command
$sampleData = @"
Server Name           Server Load  Load Throttling Load  Logon Mode
--------------------  -----------  --------------------  ------------------
SERVER-01             400          0                     AllowLogons
SERVER-02             1364         OFF                   AllowLogons
SERVER-03             1364         OFF                   AllowLogons
SERVER-04             1000         0                     AllowLogons
SERVER-05             700          0                     AllowLogons
SERVER-06             1200         0                     AllowLogons
"@ -split "`n"

$sampleData | Select-Object -Skip 2 | ForEach-Object {
  $len = $_.Length
  [PSCustomObject] @{
    "ServerName"         = $_.Substring(0,  22).Trim()
    "ServerLoad"         = $_.Substring(22, 13).Trim() -as [Int]
    "LoadThrottlingLoad" = $_.Substring(35, 22).Trim()
    "LogonMode"          = $_.Substring(57, $len - 57).Trim()
  }
}

In Ihrem Fall sollten Sie in der Lage sein, durch $sampleDataIhren qfarm loadBefehl zu ersetzen . z.B:

qfarm /load | Select-Object -Skip 2 | ForEach-Object {
...

Dies setzt natürlich keine Leerzeilen in der Ausgabe voraus und dass meine Spaltenpositionen für den Anfang jedes Elements korrekt sind.

PowerShell Version 2-Äquivalent:

#requires -version 2

function Out-Object {
  param(
    [Collections.Hashtable[]] $hashData
  )
  $order = @()
  $result = @{}
  $hashData | ForEach-Object {
    $order += ($_.Keys -as [Array])[0]
    $result += $_
  }
  New-Object PSObject -Property $result | Select-Object $order
}

# sample data output from command
$sampleData = @"
Server Name           Server Load  Load Throttling Load  Logon Mode
--------------------  -----------  --------------------  ------------------
SERVER-01             400          0                     AllowLogons
SERVER-02             1364         OFF                   AllowLogons
SERVER-03             1364         OFF                   AllowLogons
SERVER-04             1000         0                     AllowLogons
SERVER-05             700          0                     AllowLogons
SERVER-06             1200         0                     AllowLogons
"@ -split "`n"

$sampleData | Select-Object -Skip 2 | ForEach-Object {
  $len = $_.Length
  Out-Object `
    @{"ServerName"         = $_.Substring(0,  22).Trim()},
    @{"ServerLoad"         = $_.Substring(22, 13).Trim() -as [Int]},
    @{"LoadThrottlingLoad" = $_.Substring(35, 22).Trim()},
    @{"LogonMode"          = $_.Substring(57, $len - 57).Trim()}
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Extrahieren Sie Spalten aus der Liste der Tabellen in Python

Extrahieren Sie Jahr / Monat aus der Datumspython in neue Spalten

So extrahieren Sie Spalten aus der Neste Pandas-Serie

Wählen Sie die Spalte in der Pivot-Tabellenausgabe aus

Extrahieren Sie aus der Spalte nur die Ziffern und teilen Sie sie in verschiedene Spalten auf

Extrahieren Sie zwei aus CSV sortierte Spalten

Extrahieren Sie Werte aus verschiedenen Spalten in Python

R: Extrahieren Sie Spalten aus der Liste der data.frames in einem Tibble

Python: Extrahieren Sie Dimensionsdaten aus der Datenrahmen-Zeichenfolgenspalte und erstellen Sie Spalten mit Werten für jede dieser Spalten

Extrahieren Sie Feature-Spalten aus dem Trainingsdatensatz basierend auf der RFE-Ausgabe

So extrahieren Sie einen Spalten- und Zeilenindex aus einem Datenrahmen, der eine Bedingung erfüllt

So extrahieren Sie Spalten aus der Json-Spalte im Datenrahmen

Extrahieren Sie Werte aus der Spalte im Spark-Datenrahmen und in zwei neue Spalten

So richten Sie Regressionskoeffizienten in der Latex-Tabellenausgabe im rmarkdown-Dokument dezimal aus

Extrahieren Sie Daten aus Spalten und sortieren Sie sie

Extrahieren Sie eine Teilmenge der Daten aus dem Multiindex-Datenrahmen und berechnen Sie die Differenz der Spalten

Leerzeichen zwischen Spalten in der Tabellenausgabe stargazer type = "html"

Spalten aus Textdatei extrahieren

Spalten aus String extrahieren

Extrahieren Sie Teilzeichenfolgen aus der Hauptzeichenfolge in Java

Extrahieren Sie den Abfragewert aus der URL

Extrahieren Sie Benutzernamen aus der Textdatei

Extrahieren Sie Werte aus der Werbebuchungsliste

So extrahieren Sie Informationen aus der Winkelausgabe

Extrahieren Sie eine Spalte aus der Textdatei

Extrahieren Sie Felder aus der komplizierten Serverantwort

Extrahieren Sie bestimmte Daten aus der Zeichenfolge

Extrahieren Sie die Wertzeichenfolge aus der URL

Extrahieren Sie Datenrahmen aus der Liste in R

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv