Rückwärts Tag (31.01.)

Smalltalk
Antworten
uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Rückwärts Tag (31.01.)

Beitrag von uname » 31.01.2023 08:24:57

Am 31.01. also heute ist der Rückwärts Tag. Natürlich gibt es einen tollen Linux-Befehl, der alles umdreht, verrate ich aber nicht. ;-) Wir können ja heute mal ganz viele unterschiedliche Scripte sammeln, die z. B. das Umdrehen von Text auf der Konsole ermöglichen. Sie müssen ja nicht unbedingt unkompliziert oder effizient sein. ;-) Auch ist alles andere bzgl. Rückwärts Tag in diesem Thread herzlich willkommen.

rodney
Beiträge: 334
Registriert: 09.12.2016 04:15:59

Re: Rückwärts Tag (31.01.)

Beitrag von rodney » 31.01.2023 09:18:44

Welche Version vom Umdrehen? Zeilenweise (Umkehrung der Zeilenabfolge) oder Zeichenweise (Umkehrung der Zeichenabfolge in einer Zeile)? Ersteres erledigt bei mir `tac` und zweiteres `rev`. Andere Tools/Skripte fuer diese Aufgabe habe ich bisher noch nicht vermisst.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Rückwärts Tag (31.01.)

Beitrag von Meillo » 31.01.2023 09:36:03

Was ist das denn fuer ein Rueckwaerts-Tag? Hoere ich zum ersten Mal.


Ein passendes Script dafuer habe ich jedenfalls. Erst kuerzlich war es mir nuetzlich. Es schreibt den Satz von rechts nach links, wobei alle Woerter normal lesbar bleiben. Das ganze basiert auf einem Spass, dass jemand die relevante Information am Satzanfang haben wollte, sie aber immer am Satzende war. Dieser Wunsch konnte mit dem Script erfuellt werden. ;-)

Code: Alles auswählen

:-Q cat rueckwaerts.sh 
#!/bin/sh
#
# reverse order of words on line (punctuation in reverse direction)
#

awk -F '' '
{
        line = ""
        word = ""
        split($0, a, "")
        for (i=length(a); i>0; i--) {
                c = a[i]
                if (c ~ /[A-Za-z]/) {
                        word = c word
                } else {
                        line = line word c
                        word = ""
                }
        }
        print line word
}
'

:-Q cat in2              
Hallo, das ist ein Test.
Und das die zweite Linie.

:-Q ./rueckwaerts.sh <in2
.Test ein ist das ,Hallo
.Linie zweite die das Und

:-Q 
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10721
Registriert: 25.09.2007 19:59:30

Re: Rückwärts Tag (31.01.)

Beitrag von MSfree » 31.01.2023 11:07:32

Code: Alles auswählen

tac input.txt

Antworten