GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ersetzen Sie intelligente Anführungszeichen durch den Linux-Befehl sed

In der Typografie orientierte sich traditionell ein Paar Anführungszeichen aneinander. Sie sehen so aus:

„intelligente Anführungszeichen“

Als Computer Mitte des 20. Jahrhunderts populär wurden, wurde die Orientierung oft aufgegeben. Der ursprüngliche Zeichensatz von Computern hatte nicht viel Platz, daher ist es sinnvoll, dass zwei doppelte und zwei einfache Anführungszeichen in der ASCII-Spezifikation auf jeweils nur eines reduziert wurden. Heutzutage ist der übliche Zeichensatz Unicode, mit viel Platz für viele ausgefallene Anführungszeichen und Apostrophe, aber viele Menschen haben sich an den Minimalismus von nur einem Zeichen für sowohl öffnende als auch schließende Anführungszeichen gewöhnt. Abgesehen davon sehen Computer die verschiedenen Arten von Anführungszeichen und Apostrophen tatsächlich als unterschiedliche Zeichen. Mit anderen Worten, für einen Computer unterscheidet sich das rechte doppelte Anführungszeichen vom linken doppelten Anführungszeichen oder einem geraden Anführungszeichen.

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Anführungszeichen durch sed ersetzen

Computer sind keine Schreibmaschinen. Wenn Sie eine Taste auf Ihrer Tastatur drücken, drücken Sie keinen Hebel mit einem daran befestigten Tintenstempel. Sie drücken einfach eine Taste, die ein Signal an Ihren Computer sendet, das der Computer als Aufforderung interpretiert, ein bestimmtes vordefiniertes Zeichen anzuzeigen. Die Anforderung hängt von Ihrer Tastaturbelegung ab. Als Dvorak-Schreibkraft habe ich die Verwirrung auf den Gesichtern der Leute gesehen, wenn sie entdecken, dass „asdf“ auf meiner Tastatur „aoeu“ auf dem Bildschirm erzeugt. Möglicherweise haben Sie auch spezielle Tastenkombinationen gedrückt, um Zeichen wie ™ oder ß oder ≠ zu erzeugen, die nicht einmal auf Ihrer Tastatur aufgedruckt sind.

Jeder Buchstabe oder jedes Zeichen, ob auf Ihrer Tastatur aufgedruckt oder nicht, hat einen Code. Die Zeichenkodierung kann auf verschiedene Weise ausgedrückt werden, aber für einen Computer erzeugen die Unicode-Sequenzen u2018 und u2019 und , während die Codes u201c und u201d das erzeugen und Figuren. Wenn Sie diese "geheimen" Codes kennen, können Sie sie programmgesteuert mit einem Befehl wie sed ersetzen. Jede Version von sed ist geeignet, also können Sie GNU sed oder BSD sed oder sogar Busybox sed verwenden.

Hier ist das einfache Shell-Skript, das ich verwende:

#!/bin/sh
# GNU All-Permissive License

SDQUO=$(echo -ne '\u2018\u2019')
RDQUO=$(echo -ne '\u201C\u201D')
$SED -i -e "s/[$SDQUO]/\'/g" -e "s/[$RDQUO]/\"/g" "${1}"

Speichern Sie dieses Skript als fixquotes.sh und erstellen Sie dann eine separate Testdatei mit intelligenten Anführungszeichen:

‘Single quote’
“Double quote”

Führen Sie das Skript aus und verwenden Sie dann den cat-Befehl, um die Ergebnisse anzuzeigen:

$ sh ./fixquotes.sh test.txt
$ cat test.txt
'Single quote'
"Double quote"

sed installieren

Wenn Sie Linux, BSD oder macOS verwenden, haben Sie bereits GNU oder BSD sed Eingerichtet. Dies sind zwei einzigartige Neuimplementierungen des ursprünglichen sed Befehl, und für das Skript in diesem Artikel sind sie funktional gleich (das gilt jedoch nicht für alle Skripte).

Unter Windows können Sie GNU sed mit Chocolatey installieren.


Linux
  1. Planen von Aufgaben mit dem Linux-Cron-Befehl

  2. Diagnostizieren Sie Verbindungsprobleme mit dem Linux-Ping-Befehl

  3. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  4. Ersetzen Sie intelligente Anführungszeichen durch den Linux-Befehl sed

  5. So verwenden Sie den Linux-Befehl sed

Linux-Befehl sed:Verwendung des Stream-Editors

wc Linux-Befehl mit Beispielen

So finden Sie Dateien in Linux mit dem Find-Befehl

So finden Sie Dateien mit dem fd-Befehl in Linux

Die 50 praktischen Beispiele des SED-Befehls in Linux

Verwendung des Linux-Befehls sed mit Beispielen