2017-08-22 4 views
-3

Ich möchte ein Powershell-Skript schreiben, das in eine Textdatei schaut, die eine Zeile im Dokument findet, die keine Zahlen enthält, und es verschieben Zum Seitenanfang. (Die Datei ist im Grunde ein Datenextrakt und aus unbekannten Gründen wird die Kopfzeile an einen zufälligen Ort in der Datei verschoben. Ich möchte ein Skript ausführen, das es automatisch zurück nach oben verschiebt.)Powershell-Skript zum Ausschneiden/Einfügen einer bestimmten Zeile nach oben

Hat jemand gehabt Irgendwelche Erfahrungen mit dieser Art von Dingen vorher?

Antwort

1
$File = 'C:\File.txt' 
$Header = 'Name  Number  Something' 

$Content = Get-Content -Path $File 

Set-Content -Path $File -Value $Header 
$Content | Where-Object -FilterScript { $_ -ne $Header } | Add-Content -Path $File 
  1. Speichern Sie den Namen der Datei in $File
  2. Wenn der Header statisch ist, können Sie es in einer Variablen $Header
  3. Holen Sie sich den Inhalt der Datei, um sie speichern und speichern in eine Variable $Content
  4. den Inhalt der $File nur die $Header
  5. $Content, wo es nicht nehmen Set ist gleich $Header und dann jede Linie $File durch die Verwendung von Rohrleitungen Inhalt der Datei
0

A) Erhalten

B) sucht nach einer Zeile hinzufügen ohne Ziffern Regex

C) Sucht Inhalt mit Ziffern

D) kombiniert beide Listen-Header an der Spitze "$ header + $ body"

E) Speichert die Liste setzen Datei

$File = "C:\Test.txt" 
$content = get-content $File 
$header = $content | where-object {$_ -notmatch "\d"} | ForEach-Object { "$_"} 
$body = $content | where-object {$_ -match "\d"} | ForEach-Object { "$_"} 
,$header + $body | out-file $File 
Verwandte Themen