Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Textdateien mit Powershell Filtern

Frage Entwicklung Batch & Shell

Mitglied: BlackNight

BlackNight (Level 1) - Jetzt verbinden

19.07.2012 um 15:35 Uhr, 4962 Aufrufe, 3 Kommentare

Hallo, erstmal Danke für die viel oft sehr nützlichen Beiträge aller Mitstreiter hier.

Folgendes "Problem", ich hab eine Text Datei die von einem Backup generiert wird. Die Datei hat knapp 1500 Zeilen, wovon aber nur ein Bruchteil von Interesse ist. Es werden lediglich die ersten 2 Zeilen und ca. die letzten 140 Zeilen benötigt.

Nun hab ich das schon mal mit einem Script per Powershell versucht zu lösen. Leider bekomm ich es nicht hin die letzten Zeilen zu selektieren und mit in die Ausgabedatei zu schreiben.
So sieh das Skript zum jetzigen Zeitpunkt aus:

  1. Filterscript für Backupfile
clear-Host
#Variablen deklarieren
$Quelle="D:\Projekte\Testlauf\050.txt"
$Ziel="D:\Projekte\Testlauf\050_Neu1.txt"
#Daten einlesen
$Inhalt = Get-Content -Path $Quelle -TotalCount 2
$Inhalt | Set-Content -Path $Ziel
#Bis hier ist alles OK die 2 Zeilen landen in der Zieldatei.
#Nun sollte nach Möglichkeit die Datei bis zum gesuchten “Keyword” durchsucht # und ab da, alles bis zum Ende der Datei auch mit in die Zieldatei #geschrieben werden.
$Inhalt = get-content -Path $Quelle | Select-String -Pattern "Keyword"
$Inhalt | Set-Content -Path $Ziel
Ich hoffe das ist halbwegs nachvollziehbar beschrieben und das mir jemand den entscheidenden Geistigen Anstoß geben kann.

Danke schon mal. Gruß

Mitglied: Connor1980
19.07.2012 um 17:15 Uhr
Hallo,

kannst du bitte deinen code Zwecks besserer Lesbarkeit formatieren?
Um es besser zu verstehen wäre noch hilfreich, wie der Inhalt aussieht, ein paar Zeilen genügen ja - also einmal wie sieht die Quelle aus und wie soll das Ziel aussehen?

Zum Thema: evtl. hilft die get-help about_split weiter, mit dem split Operator kannst du Strings auftrennen.

Grüße
Bitte warten ..
Mitglied: BlackNight
20.07.2012, aktualisiert 30.07.2012
Hallo Connor1980,

kann ich natürlich, war gestern etwas im Streß und hab ganicht daran gedacht.
Also hier nochmal Formatiert und mit Text aus der Quelldatei.

clear-Host
#Variablen deklarieren
$Quelle="D:\Projekte\Testlauf\050.txt"
$Ziel="D:\Projekte\Testlauf\050_Neu1.txt"
#Daten einlesen
$Inhalt = Get-Content -Path $Quelle -TotalCount 2
$Inhalt | Set-Content -Path $Ziel


Bis hier ist alles OK die 2 Zeilen landen in der Zieldatei.
Nun sollte nach Möglichkeit die Datei bis zum gesuchten “Keyword” durchsucht und ab da, alles bis zum Ende der Datei auch mit in die Zieldatei geschrieben werden.

$Inhalt = get-content -Path $Quelle | Select-String -Pattern "Keyword"
$Inhalt | Set-Content -Path $Ziel


Hier ein ausschnitt aus der Quelldatei.

Das sind die ersten 4 Zeilen von denen die ersten 2 beötigt werden, was aber wie gesagt ja funktioniert.

;[BACKUP_V2.0]
; Ident: BPS=S1:$150'PS, IDC=116, VRS=0x12
;[TASK_1..199]
; Stamp: dat=05-Jul-12/Do, tim=12:52, stp=1, rsn=SaFi


ab hier ein Ausschnitt kurz vor dem Keyword ab dem der Text mitgenommen werden soll.


DSP40.TXU = 0
DSP40.DEST = $003.MV !$000.MV
DSP40.DVAL(1) = 0 !.
DSP40.DVAL(2) = @PLT40.PSTA!.
;[END_DISPATCHCAT]

ab hier soll dann der Text bis zum ende der Datei mitgenommen werden. Das ";[TIME_SWITCH_CATALOGUES]" ist in der Datei immer einmalig, also kann dieses "Keyword" zum finden des Anfangs verwendet werden.


;[TIME_SWITCH_CATALOGUES]
;[TIMESWITCH_CAT]
; Stamp: dat=05-Jul-12/Do, tim=12:59, stp=25, rsn=SaFi
;TSC
;TSC.VISUM= BPS
;TSC.WHEN= 05.07.12 12:59:41
TSC.SIG = 50
;TSC.ACT = 1
-- TSC.ACTSDC = 0
.SDC
SDC.SIG = 4
20 01-MAY !SU
;[TSC_DST20]
EDIT DST20 ; -- Optimierte Zone HK West
;DST20.VISUM= BPS
;DST20.WHEN= 05.07.12 12:59:43
DST20.SIG = 12
DST20.ACT = 1
DST20.TA = @TCR2.TA
DST20.TYP = 5
DST20.TXI = #p3440
DST20.TXI2 = #p3138
DST20.TODAY = +00:00
DST20.TDACT = 0
-- DST20.ACTCAT = WDC
-- DST20.ACTIDX = 6
DST20.MODE = 1
DST20.PAR = SOPST !SOMOD !. !. !.
DST20.DFV = 1 !. !. !. !.
.DST20.WDC
1 MO !01:40..01:50 !0 !. !. !. !.
2 MO !02:50..03:00 !0 !. !. !. !.
3 MO !04:00..17:50 !0 !. !. !. !.
4 TU !03:30..03:40 !0 !. !. !. !.
5 TU !05:00..17:50 !0 !. !. !. !.
6 WE..TH !05:00..18:00 !0 !. !. !. !.
.......
.......
.......
.......usw.


Hoffe das ist nun Aussagekräftiger.

Danke Gruß

Keiner eine Idee?
Bitte warten ..
Mitglied: BlackNight
02.08.2012 um 15:13 Uhr
Also ich muss echt sagen ich bin ein wenig Enttäuscht, will keiner Antworten oder ist es schlichtweg über PowerShell nicht lösbar. 416 Aufrufe und keine Antwort, kommt schon das kann ja nicht sein.

Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Filtern Filtern Filtern
gelöst Frage von H41mSh1C0RBatch & Shell10 Kommentare

Aloa in die Runde, ich brech mir gerade wieder etwas die Finger ^^ am Freitag. DataTable einmal durchlaufen und ...

Batch & Shell
Filtern von Textdatei
gelöst Frage von MaxPauerBatch & Shell2 Kommentare

Hallo Zusammen, ich hätte ein Problem bei welchem ihr mir hoffendlich helfen könnt. Ich ich will eine Liste erstellen ...

Batch & Shell
PowerShell EventLog informationen filtern
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, mit Hilfe von Get-EventLog hole ich mir bestimmte Einträge in ein Array. Das Array verfügt über drei für ...

Batch & Shell
PowerShell Array in Textdatei ausgeben
gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, der Titel hört sich nicht allzu schwer an. Ich habe eine Foreach Schleife die Durchläuft und ein Array ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 4 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 8 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 8 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 12 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...