Ok, dank @Prvt_Yadv konnte ich die Punkte verstehen. Hier ist die Antwort auf die erste Frage:
Was ist die Magie hinter dem zweiten tr
Befehl?
Die 13 Punkte werden einfach den ersten 13 Buchstaben des zweiten Satzes zugeordnet. So
tr .............A-Z A-ZA-Z
wird die folgenden Sets produzieren:
SET1 -> .............ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
Wenn Ihre Eingabe keinen Punkt enthält, können Sie die ursprüngliche Sequenz verwerfen, da Sie diese Ersetzung nicht verwenden. Dann würden die Sets werden:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
Aber da der erste Satz bereits alle 26 Buchstaben enthält und Satz 2 sich wiederholende abschließende Buchstaben enthält, werden diese ebenfalls verworfen und schließlich verworfen
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLM
Welches ist die rot13-Ersetzung und identisch mit dem ersten Befehl (außer, dass hier keine Kleinbuchstaben behandelt werden). Dieselbe Logik kann für den Titel der Frage angewendet werden:
tr ...A-Z A-ZA-Z <<< “JVPQBOV”
würde die Sets produzieren:
SET1 -> ...ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
Verwerfen der Anfangssequenz und der nachfolgenden sich wiederholenden Buchstaben zu:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> DEFGHIJKLMNOPQRSTUVXWYZABC
Welches ist die rot3 Substitution.
Nun zur zweiten Frage:
Wie funktioniert der zweite Befehl sowohl für Klein- als auch für Großbuchstaben, genau wie der erste Befehl?
Damit es funktioniert, setzen Sie die gewünschte Anzahl von Punkten an den Anfang, wobei Sie Ihre Fäulnis und 26 Punkte wie folgt auf die obere und die untere Reihenfolge abstimmen:
tr ........A-Z..........................a-z A-ZA-Za-za-z
Dies würde erfolgreich ein unempfindliches rot8 erzeugen. Um zu veranschaulichen, warum dies funktioniert, sehen wir uns die Sets an:
SET1 -> ........ABCDEFGHIJKLMNOPQRSTUVXWYZ..........................abcdefghijklmnopqrstuvxwyz
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyzabcdefghijklmnopqrstuvxwyz
Ohne die Punktzuordnung und die nachfolgenden Buchstaben:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyz
SET2 -> IJKLMNOPQRSTUVXWYZABCDEFGHijklmnopqrstuvxwyzabcdefgh
Jetzt funktioniert es sowohl für Groß- als auch Kleinbuchstaben :)
Eine andere Möglichkeit, dies zu erreichen, besteht darin, zwei tr
Befehle wie folgt zu verwenden:
tr .............A-Z A-ZA-Z <<< "ABJ V hqrefgnaq" | tr .............a-z a-za-z
Eine Einschränkung bei der Verwendung der Punktersetzung wurde von @iruvar gegeben: Dieser Befehl funktioniert nicht wie erwartet, wenn die Eingabezeichenfolge Punkte enthält. Dies liegt daran, dass die Punkte anderen Buchstaben zugeordnet werden und beim Ersetzen tr
den Eingabepunkt in den zuletzt zugeordneten Buchstaben ändern. Sie können jedoch auch jedes andere Zeichen als Punkte verwenden. Wenn die Verwendung von Punkten in Ihrem tr
Befehl ein Problem darstellt, können Sie @
beispielsweise stattdessen verwenden. Das würde genauso gut funktionieren:
tr @@@@@@@@@@@@@A-Z A-ZA-Z <<< "GUNAX LBH NYY..."