Powershell
Alle Dateien eines Verzeichnisses durchsuchen und bearbeiten:
- Verzeichnis aufrufen mit cd
- Alle Dateien eines Verzeichnisses durchsuchen:
Select-String -path *.* -SimpleMatch "…"
- Alle Dateien eines Verzeichnisses durchsuchen und Ergebnis abspeichern:
Select-String -path *.* -SimpleMatch "…" > dateiname.endung
Pipe:
- Dateien aufrufen, Kommandos ausführen, Ergebnis abspeichern
Bsp.: Select-String
(Get-Content -Path AUSGANGSDATEI) | Select-String -SimpleMatch -CaseSensitive "X" | Select-String -SimpleMatch -CaseSensitive "Y" | Set-Content ZIELDATEI
Concatenate
- Textdateien zusammenfügen
Get-Content file1.xxx, file2.xxx, file3.xxx | Set-Content joinedfile.xxx
Get-Content *.xxx | Set-Content joinedfile.xxx
Compare
- Doppelte Zeilen finden: erste Datei über Notepad++ deduplizieren -> als zweite Datei abspeichern
compare -ReferenceObject (Get-Content -Path erste_datei.xxx ) -DifferenceObject (Get-Content -Path zweite_datei.xxx) | Set-Content ZIELDATEI
Zeichen ersetzen:
- Zeichen ersetzen:
X durch Y ersetzen: (Get-Content -Path AUSGANGSDATEI) -replace ("X","Y") | Set-Content ZIELDATEI
- Zeilenumbruch (\n) ersetzen:
1. \n durch X ersetzen: (Get-Content -Path AUSGANGSDATEI) -join "X" | Set-Content ZIELDATEI
2. X durch \n ersetzen: (Get-Content -Path AUSGANGSDATEI) -replace ("X","`n") | Set-Content ZIELDATEI
Zeilenumbruch kann auch `r statt `n sein.
Filter the contents of a file by an array of strings
$p = @("this","is","a test")
Get-Content '.\New Text Document.txt' | Select-String -Pattern $p -SimpleMatch | Set-Content FilteredContent.txt