Wie man Dateien mit einem echten PowerShell-Texteditor bearbeitet

Hast du ein Skript ausgeführt, das eine Textdatei gelesen hat und festgestellt hat, dass die Datei mehrere falsche Einträge enthält? Ein PowerShell-Texteditor könnte in solchen Situationen nützlich sein. Sie müssten keinen externen Editor starten. Stattdessen können Sie die Datei bearbeiten, ohne PowerShell zu verlassen. Wie cool ist das?

Weiterlesen, und Sie erfahren, wie Sie drei Texteditoren (Nano, Vim und Emacs) installieren und verwenden können, um Ihre Textdateien innerhalb von PowerShell zu bearbeiten. In diesem Tutorial werden auch die Vorteile jedes einzelnen erläutert, um Ihnen bei der Auswahl des für Sie idealen zu helfen.

Lass uns anfangen!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:

  • A computer running on Windows 7 or higher. The examples in this tutorial will use Windows 10 version 21H1.
  • Windows PowerShell v3+ oder PowerShell Core v6+. Dieses Tutorial wird die Windows PowerShell Version 5.1 verwenden.
  • Die neueste Version von Chocolatey (v0.11.2 zum Zeitpunkt der Erstellung dieses Tutorials).

Nano als PowerShell-Texteditor verwenden

Wenn Sie neu in terminalbasierten Texteditoren sind oder nur eine schnelle Bearbeitung an einer Datei vornehmen müssen, ist Nano ideal für Sie. Nano ist leichtgewichtig, intuitiv und besser geeignet für einfache Textbearbeitungsaufgaben im Vergleich zu den fortgeschritteneren Editoren in diesem Tutorial.

Installation von Nano

Um Nano zu installieren, befolgen Sie die unten stehenden Schritte.

1. Öffnen Sie PowerShell als Administrator.

2. Führen Sie in PowerShell den folgenden choco install Befehl aus, um den Nano Texteditor zu installieren. Der (-y) Schalter umgeht die Bestätigungsaufforderung und führt die Installation des Pakets aus.

choco install nano -y

Der Installationsprozess ähnelt dem Screenshot unten. Wie Sie sehen können, war die Nano Installation in diesem Beispiel erfolgreich.

Installing Nano

3. Nach der Installation von Nano führen Sie den folgenden Befehl aus, um die erfolgreiche Installation zu überprüfen und die aktuelle Version anzuzeigen.

nano --version

Wie Sie unten sehen können, war der Befehl erfolgreich und hat die Nano Version auf Ihrem Computer angezeigt.

Verifying the Nano version

Bearbeiten und Speichern einer Datei

Jetzt, da Sie Nano installiert haben, ist es Zeit, es auszuprobieren!

1. Um eine neue Datei zu erstellen oder eine vorhandene zu öffnen, führen Sie den Befehl nano aus und geben Sie den Dateinamen zum Erstellen oder Öffnen ein. Für die Beispiele in diesem Tutorial erstellen und bearbeiten Sie ein Windows PowerShell-Skript, das die Dateierweiterung .ps1 verwendet. Der Befehl unten erstellt eine neue Datei namens myPowerShellScript.ps1 im aktuellen Verzeichnis.

nano myPowerShellScript.ps1

Der Nano-Texteditor wird innerhalb von PowerShell geöffnet. Wie auf dem Bild unten zu sehen ist, steht unten in der Nähe [New File], was darauf hinweist, dass Nano eine neue leere Datei geöffnet hat.

The Nano editor screen

Um alle verfügbaren Tastenkürzel anzuzeigen, drücken Sie STRG+G auf Ihrer Tastatur, um die Hilfe anzuzeigen. Befehle, die mit ^ beginnen, bedeuten, dass Sie die STRG-Taste drücken müssen. Andererseits, wenn der Befehl mit M beginnt, müssen Sie die ALT-Taste drücken.

2. Beginnen Sie anschließend mit dem Schreiben Ihres Skripts, indem Sie die Pfeiltasten auf Ihrer Tastatur verwenden, um den Cursor zu bewegen. Geben Sie zum Beispiel den Windows PowerShell-Befehl Write-Host "Hallo Welt!" ein, wie im folgenden Bild gezeigt. Wenn dieser Befehl ausgeführt wird, wird der Text “Hallo Welt!” auf der Konsole ausgegeben.

Beachten Sie, dass sobald Sie den Inhalt der Datei ändern, das Wort Geändert in der oberen rechten Ecke des Editors erscheint. Nach der Bearbeitung drücken Sie STRG+O, um Nano mitzuteilen, dass Sie die Datei speichern möchten.

Using the Write-Out shortcut

3. Nano fordert Sie auf, den Dateinamen einzugeben, um die Änderungen zu speichern. Drücken Sie die Eingabetaste, um zu bestätigen.

Saving the file

4. Schließlich, um Nano zu verlassen, drücken Sie STRG+X.

Wenn Sie versuchen, den Editor zu beenden, während noch ausstehende Änderungen vorhanden sind, wird Nano Sie fragen, ob Sie die Änderungen speichern oder ignorieren möchten. Wenn Sie sich dafür entscheiden zu speichern, drücken Sie Y und geben Sie den Dateinamen an, wie Sie es in Schritt 3 getan haben. Andernfalls drücken Sie N, um die Änderungen zu verwerfen.

Exiting Nano

5. Führen Sie jetzt Ihr Skript aus, indem Sie den folgenden Befehl ausführen. Der folgende Befehl geht davon aus, dass sich Ihre Datei im C:\ Ordner befindet.

& C:\myPowerShellScript.ps1

Das Skript wird die Nachricht ‘Hallo Welt!’ auf dem Terminal ausgeben, wie im folgenden Bild gezeigt.

Output of the script

Suchen und Ersetzen von Text

Jetzt, da Sie wissen, wie man eine Datei bearbeitet und speichert, ist es an der Zeit, etwas fortgeschrittenere zu lernen: das Suchen und Ersetzen von Zeichenketten!

Um eine Zeichenkette zu suchen, befolgen Sie diese Schritte.

1. Öffnen Sie zunächst die Textdatei im Nano Editor, wenn sie noch nicht geöffnet ist.

2. Sobald Sie die Textdatei geöffnet haben, drücken Sie auf Ihrer Tastatur CTRL+W, um den Wo ist Befehl aufzurufen.

3. Geben Sie dann neben der Suchaufforderung den zu suchenden String ein und drücken Sie Enter. Das folgende Beispiel sucht nach dem Wort Hallo.

Searching for a string

Wenn die Zeichenkette in der Datei vorhanden ist, bewegt sich der Cursor daneben, wie unten gezeigt.

Finding the string

Um eine Zeichenkette zu suchen und zu ersetzen, gehen Sie wie folgt vor.

1. Drücken Sie auf Ihrer Tastatur CTRL+\, um das Suchen- und Ersetzen-Menü zu öffnen. Geben Sie neben der Zu ersetzende Zeichenkette suchen Aufforderung die Zeichenkette ein, die Sie ersetzen möchten, und drücken Sie Enter.

Searching for the word ‘Hello’

2. Als nächstes geben Sie am Ersatz durch-Prompt das neue Wort ein und drücken Sie Enter. Im untenstehenden Beispiel wird das Ersatzwort Goodbye. sein.

Replacing the word

3. Wählen Sie abschließend aus, ob nur das aktuelle Vorkommen oder alle Vorkommen des übereinstimmenden Wortes in der Datei ersetzt werden sollen. Die Optionen lauten:

  • Um nur das aktuelle Vorkommen zu ersetzen, drücken Sie Y.
  • Um alle Vorkommen zu ersetzen, drücken Sie A.
  • Um dieses Vorkommen zu überspringen, drücken Sie N.
  • Um die Ersetzungsvorgang abzubrechen, drücken Sie CTRL+C.

Drücken Sie in diesem Beispiel Y, um das aktuelle Vorkommen zu ersetzen.

Confirming the search and replace operation

Nano gibt die Anzahl der ersetzten Vorkommen an, wenn der Ersetzungsvorgang erfolgreich ist, wie im folgenden Bild gezeigt.

Replace occurrence count

4. Drücken Sie CTRL+X auf Ihrer Tastatur, um Nano zu beenden, und drücken Sie Y, um den Puffer zu speichern. Führen Sie Ihr Skript erneut aus. Die neue Nachricht ‘Goodbye World!’ wird in Ihrem Terminal gedruckt.

The script output

Verwenden von Vim als PowerShell-Texteditor

Vim bietet mehr Funktionen als Nano, wie z.B. Sitzungswiederherstellung, Syntaxhervorhebung, Fensteraufteilung und Autovervollständigung. Nano ist für schnelle Dateibearbeitungen gedacht, während Vim auch eine leichte Alternative zu einer IDE ist.

Aber die zusätzlichen Funktionen, die Vim bietet, gehen mit einer steileren Lernkurve einher. Lassen Sie sich jedoch nicht entmutigen. Vim ist ein ausgezeichneter Editor zum Erlernen.

Installation von Vim

Jetzt ist es an der Zeit, mit der Installation von Vim zu beginnen.

1. Öffnen Sie PowerShell als Administrator.

2. Im PowerShell-Terminal führen Sie den folgenden Befehl aus, um den Vim-Editor zu installieren.

choco install vim -y

3. Um die Vim-Version zu überprüfen, führen Sie den folgenden Befehl aus. vim --v

vim --version
Verifying the Vim version

Bearbeiten und Speichern einer Datei

Jetzt, da Sie Vim installiert haben, ist es an der Zeit, die Hände schmutzig zu machen und zu lernen, eine Datei zu bearbeiten. Bevor Sie weitermachen, sollten Sie wissen, dass es verschiedene Modi in Vim gibt. Jeder Modus verhält sich anders und beeinflusst, welche Aktionen Sie im Editor ausführen können.

Die drei häufig verwendeten Modi sind:

  • Normal – Der Standardmodus, sobald Sie Vim öffnen. In diesem Modus können Sie sich durch die Textdatei navigieren, aber keine neuen Texte hinzufügen.
  • Einfügen – In diesem Modus können Sie die Datei bearbeiten. Um diesen Modus zu betreten, drücken Sie i auf der Tastatur. Um den Modus zu verlassen und zum Normalmodus zurückzukehren, drücken Sie ESC.
  • Befehl – In diesem Modus können Sie Befehle wie das Speichern der Datei, das Beenden von Vim oder das Anzeigen des Hilfedokuments ausführen, unter anderem.

Kommen wir zur Bearbeitung einer Datei in Vim. Befolgen Sie die folgenden Schritte.

1. Um eine Datei in Vim zu öffnen, führen Sie den Befehl vim gefolgt vom Dateinamen zum Öffnen aus. Der folgende Befehl öffnet die Datei myPowerShellScript.ps1.

vim myPowerShellScript.ps1

Der Vim-Texteditor wird geöffnet, wie im folgenden Bildschirmbild dargestellt. Beachten Sie, dass der PowerShell-Befehl ‚Write-Host‘ und die Meldung ‚Hallo Welt!‘ in verschiedenen Farben angezeigt werden, da Vim die Syntaxhervorhebung unterstützt.

The Vim opening view in normal mode

Wenn Sie das Vim-Hilfedokument anzeigen möchten, geben Sie :h ein und drücken Sie die Eingabetaste. Durch Drücken des :-Zeichens im Normalmodus wechselt Vim in den Befehlsmodus, während h bedeutet, die Hilfedatei zu öffnen. Um das Hilfedokument zu verlassen, geben Sie :q ein und drücken Sie die Eingabetaste, um in den Normalmodus zurückzukehren.

Als nächstes geben Sie den Einfügen-Modus ein, indem Sie i drücken. Wenn Sie den Einfügen-Modus eingeben, erscheint der Text -- INSERT -- am unteren Rand des Editors, wie im folgenden Bild gezeigt.

Vim in insert mode

3. Jetzt, da Sie sich im Einfügemodus befinden, bearbeiten Sie die Datei nach Belieben. Mit den Pfeiltasten können Sie den Cursor innerhalb des Editors bewegen.

4. Nach der Bearbeitung drücken Sie Esc, um in den Normalmodus zurückzukehren.

5. Geben Sie den Befehl :wq ein und drücken Sie die Eingabetaste, um die Datei zu speichern und zu schließen. Der Befehl w speichert die Dateien, während q Vim beendet.

Saving the file and existing Vim

Suchen und Ersetzen von Text

Befolgen Sie die folgenden Schritte, um in Vim nach Zeichenfolgen zu suchen.

1. Öffnen Sie die Datei, die Sie in Vim bearbeiten möchten.

2. Um in Vim nach einer Zeichenfolge zu suchen, führen Sie den folgenden Befehl aus, wobei <string> die zu suchende Zeichenfolge ist.

:/<string>

Zum Beispiel, um nach dem Wort Hallo zu suchen, geben Sie Folgendes ein:

:/Hello

Vim hebt die übereinstimmenden Wörter hervor, wie im folgenden Bild gezeigt.

Um durch mehrere Instanzen der übereinstimmenden Texte zu iterieren, drücken Sie n, um zur nächsten Instanz zu gelangen, oder die Taste N für die vorherige Instanz.

Vim highlighting the matching words

3. Schließlich führen Sie den folgenden Befehl aus, um jede Instanz eines Strings in der gesamten Datei zu ersetzen, wobei <old> der zu ersetzende Text und <new> der Ersatztext ist.

:%s/<old>/<new>/g

Beispielsweise ersetzt der folgende Befehl das Wort Hello durch das Wort Goodbye.

:%s/Hello/Goodbye/g
Performing a search and replace in Vim

Als Ergebnis ersetzt Vim den Text wie unten gezeigt.

Vim showing the search and replace results

4. Geben Sie den Befehl :wq ein und drücken Sie Enter, um die Datei zu speichern und zu schließen. Führen Sie das Skript erneut aus. Die Ausgabe zeigt Ihre neue Nachricht an.

The script output

Verwenden von Emacs als PowerShell-Texteditor

Wie Vim bietet auch Emacs mehr Funktionen als Nano. Außerdem ist Emacs auch eine integrierte Entwicklungsumgebung (IDE). Zu den Funktionen von Emacs gehören Syntaxhervorhebung, gleichzeitige Bearbeitung mehrerer Dateien und automatische Einrückung.

Ein weiterer Vorteil von Emacs gegenüber den anderen Editoren in diesem Tutorial ist, dass Emacs modalfrei ist. Emacs ist auch vollständig anpassbar. Wenn Emacs etwas nicht bietet, können Sie Unterstützung dafür selbst hinzufügen, indem Sie Emacs Lisp verwenden.

Emacs installieren

Befolgen Sie die unten stehenden Schritte, um Emacs zu installieren.

1. Öffnen Sie PowerShell als Administrator, falls noch nicht geschehen.

2. Im PowerShell-Terminal führen Sie den folgenden Befehl aus, um Emacs mit Chocolatey zu installieren. choco install emacs -y

choco install emacs -y

3. Führen Sie den folgenden Befehl aus, um die Emacs-Version zu überprüfen, die Sie installiert haben. emacs --version

choco install emacs -y

Sie sollten eine Ausgabe ähnlich dem Bild unten sehen, das die Emacs-Version auf Ihrem Computer anzeigt.

Displaying Emacs version

Bearbeiten und Speichern einer Datei

Sie haben Emacs installiert. Was nun? Tauchen Sie ein und beginnen Sie mit der Bearbeitung einer Textdatei, um Emacs in Aktion zu sehen. Befolgen Sie die folgenden Schritte, um eine Textdatei zu bearbeiten und zu speichern.

1. Um eine Datei in Emacs zu öffnen, führen Sie den Befehl emacs gefolgt vom Dateinamen in PowerShell aus. Der Befehl unten öffnet die Datei myPowerShellScript.ps1 zur Bearbeitung. Der -nw-Schalter teilt emacs mit, den Editor im aktuellen Terminalfenster (PowerShell) und nicht in einer separaten GUI zu öffnen. emacs -nw myPowerShellScript.ps1

emacs -nw myPowerShellScript.ps1

Mehrere Dropdown-Menüs stehen oben im Editor zur Verfügung. Um die Emacs-Hilfedokumentation anzuzeigen, klicken Sie auf das Hilfe-Dropdown-Menü.

Opening a file in Emacs

2. Bearbeiten Sie die Datei nach Belieben, und sobald Sie Ihre Änderungen abgeschlossen haben, speichern Sie die Änderungen, indem Sie nacheinander CTRL+X und CTRL+S drücken. Sie sehen die Bestätigung der Dateispeicherung unten im Editor, wie unten gezeigt.

Saving the file

3. Um den Editor zu verlassen, drücken Sie auf Ihrer Tastatur nacheinander CTRL+X und dann CTRL+C.

Suchen und Ersetzen von Text

Jetzt, da Sie die Grundlagen von Emacs kennen, wie führt man eine Such- und Ersetzungsoperation durch? Befolgen Sie die folgenden Schritte, um dies zu tun.

1. Drücken Sie CTRL+S und geben Sie den Text neben der I-search-Aufforderung ein, um nach einem Text zu suchen. Das folgende Beispiel sucht nach dem Wort Hello.

Searching for text

2. Um die Suchen-und-Ersetzen-Option zu initiieren, drücken Sie ALT+% auf Ihrer Tastatur (das gleiche wie ALT+SHIFT+5).

3. Geben Sie dann den zu suchenden Text neben der Abfrage ersetzen:-Aufforderung ein und drücken Sie die Eingabetaste.

Searching for the text to replace

4. Geben Sie als nächstes den Ersatztext neben der Aufforderung ein und drücken Sie die Eingabetaste.

Entering the replacement text

5. Schließlich drücken Sie an der Abfrage ersetzen <alter Text> durch <neuer Text>:-Aufforderung !, um alle Vorkommen des Textes zu bestätigen und zu ersetzen.

Replacing all instances of the matching text

Als Ergebnis ersetzte Emacs den Text, wie Sie unten sehen können. Darüber hinaus zeigt Emacs unten im Editor die Anzahl der ersetzen Vorkommen des Textes an.

Emacs replaced the search text

6. Beenden Sie den Editor, indem Sie auf Ihrer Tastatur CTRL+X gefolgt von CTRL+C drücken. Führen Sie das Skript erneut aus. Die Ausgabe zeigt Ihre neue Nachricht an.

The script output

Abschluss

Im Laufe dieses Tutorials haben Sie die Grundlagen der Verwendung von drei PowerShell-Texteditoren und die Vorteile eines jeden gelernt. Das nächste Mal, wenn Sie eine Datei aus dem Terminal bearbeiten müssen, verschwenden Sie keine Zeit damit, einen externen Texteditor einzurichten. Öffnen Sie einfach Nano, Vim oder Emacs und führen Sie Ihre Änderungen in wenigen Tastenanschlägen durch!

Welchen PowerShell-Texteditor mochtest du am liebsten? Kennst du andere Texteditoren, die nicht in diesem Tutorial erwähnt wurden?

Source:
https://adamtheautomator.com/powershell-text-editor/