Gibt es so etwas wie einen Lorem - Ipsum- Generator? Ich weiß, dass es in Latex und sogar in LibreOffice existiert, aber ich suche nach einem Terminalbefehl. Ich würde gerne so etwas loremipsum 10 >> file1.txt
schreiben, dass ich die ersten 10 Absätze von lorem ipsum bekomme, wobei jeder Absatz mit einem LF-Zeichen und einer leeren weißen Linie zwischen jedem Paragraf endet. Die Ausgabe wird dann in eine Datei mit dem Namen file1.txt im aktuellen Verzeichnis umgeleitet.
20
Antworten:
Sie können die Perl-Bibliothek verwenden
libtext-lorem-perl
. Hier ein kurzes Beispiel, zögern Sie nicht, es zu erweitern, um Befehlszeilenargumente usw. zu analysieren.quelle
libtext-lorem-perl
enthält das Paket einfachelorem
Befehle, so dass keine benutzerdefinierten Skripte dringend benötigt werden.fand dies bei Bash One-Liners
muss durch einen anderen Befehl eingeschränkt werden oder generiert unbegrenzt Text
quelle
tr: Illegal byte sequence
tr
(brew install coreutils
) und ersetzen Sie estr
durchgtr
.brew install gawk
nur wegen der Art von Linux installieren , die auf einem Mac ausgeführt wird.Fedora und Arch Linux's AUR haben ein
lorem-ipsum-generator
Paket:wird genau das tun, wonach Sie fragen.
Eine weitere DIY-Alternative:
Dadurch wird die
bash
Dokumentation in stdout ausgegeben,shuf
per Pipeline an 50 Zeilen übergeben,sed
mehrere und führende Leerzeichen entfernt und schließlichfmt
in Zeilen mit einer Länge von ca. 90 Zeichen formatiert.Natürlich ist dies nur ein Ausgangspunkt , und Sie können die Ausgabe verfeinern müssen, für die
sed
,tr
und andere String - Manipulatoren helfen.shuf
,fmt
undtr
sind Teile voncoreutils
(die mit großer Wahrscheinlichkeit bereits auf Ihrer GNU / Linux-Distribution installiert sind).quelle
info -a bash -o - | shuf -n50 | sed -n 's/ */ /g;s/^ //;/./p' | fmt -w 90 | head -8
Obwohl es sich technisch gesehen nicht um Lorem Ipsum oder eine lokale Binärdatei handelt, gibt es auf Metaphorpsum eine API, die ähnlichen Text ausgeben kann, jedoch in Englisch. Ich nenne es
curl
so:curl http://metaphorpsum.com/sentences/3
curl http://metaphorpsum.com/paragraphs/20
Besser noch, Sie können den API-Aufruf als eine Funktion in Ihrem Bash-Profil oder in Skripten wie folgt definieren:
Sie können es dann ganz ähnlich wie in Ihrem Beispiel verwenden:
loremipsum paragraphs 10 >> file1.txt
quelle
Der folgende Befehl hat sich in vielen Situationen als nützlich erwiesen:
Dies gibt 50 Zeilen , in denen nicht-alphabetische Zeichen zufällig erhalten von
base64 /dev/urandom
durch Leerzeichen ersetzt worden sind:sed 's/[^[:alpha:]]/ /g'
. Jede Zeile , deren Index ist ein Vielfaches von 10 durch die leere Zeichenkette ersetzt wird (um zum Simulieren Trennung der Absätze):awk '{print(0==NR%10)?"":$1}'
.Sie können
| awk '{ print NR,$0 }'
am Ende hinzufügen , um nummerierte Zeilen zu erhalten (oder jede andere, die Ihren Anforderungen entspricht). Ein ausführbares Bash-Skriptlipsum
, das die Anzahl der Zeilen als Argument akzeptiert, könnte nützlich sein.lipsum 100 > output_file
quelle
awk '{print}0==NR%10{print""}'
nach jeder zehnten Zeile eine Leerzeile einfügen. (2) Ja,awk '{ print NR,$0 }'
Zeilennummern werden gedruckt, es gibt jedoch auch andere Tools, die speziell dafür entwickelt wurden (wienl
undcat -n
).base64 /dev/urandom | sed '{0~10 s/^.*//;0~10!s/[^A-z]/ /g;50q0}'
, scheint mir diese weniger klar zu sein. (2) Beachten Sie, dass in diesem Fallnl
undcat -n
geben Sie nicht die gleiche Zeilennummerierung.Es wurden zwei weitere zu verwendende Python-Bibliotheken gefunden
quelle
Ich habe eine einfache Offline-Lösung mit Hilfe eines der vielen Lorem-Ipsum-Generatoren im Internet erstellt. Speichern Sie eine moderate Menge an Text - sagen wir 20 Absätze - in einer Datei und machen Sie das folgende Skript ausführbar:
quelle
Lorem Ipsum Generator-Website: - http://lorem-ipsum.perbang.dk/ (Sie können Anzahl der Absätze usw. auswählen.)
quelle