Apakah ada sesuatu seperti generator lorem ipsum?


20

Adakah yang namanya generator lorem ipsum ? Saya tahu itu ada di Latex, dan bahkan di LibreOffice, tapi saya sedang mencari perintah terminal. Saya ingin mengetik sesuatu seperti loremipsum 10 >> file1.txtitu akan memberi saya 10 paragraf pertama dari lorem ipsum, setiap paragraf berakhir dengan satu karakter-LF dan 1 garis putih kosong di antara setiap paragraf. Dan hasilnya akan diarahkan ke file bernama file1.txt di direktori saat ini.




1
lipsum.com selalu ada ketika saya membutuhkannya (ya, saya tahu ini bukan lokal, hanya menawarkan cara lain).
msw

Jawaban:


14

Anda dapat menggunakan perpustakaan perl libtext-lorem-perl. Di sini contoh singkat, jangan ragu untuk meluaskannya ke parse argumen baris perintah, dll.

#!/usr/bin/env perl

use Text::Lorem;

my $text = Text::Lorem->new();
$paragraphs = $text->paragraphs(10);

print $paragraphs;

1
saya mendapatkan kesalahan ini: Tidak dapat menemukan Teks / Lorem.pm di @INC (@INC berisi: / etc / perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 / usr / lib / perl5 / usr / share / perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 / usr / local / lib / site_perl.) di ./loremipsum.pl baris 3. BEGIN gagal- -kompilasi dibatalkan pada ./loremipsum.pl baris 3.
Frank

1
Maaf, saya tidak menginstal paket libtext-lorem-perl. Akan coba lagi.
Frank

5
Pada Debian libtext-lorem-perlpaket berisi loremperintah sederhana , jadi tidak ada kebutuhan mendesak untuk skrip khusus.
Josef Kufner

5

menemukan ini di Bash One-Liners

 tr -dc a-z1-4 </dev/urandom | tr 1-2 ' \n' | awk 'length==0 || length>50' | tr 3-4 ' ' | sed 's/^ *//' | cat -s | sed 's/ / /g' |fmt

harus dibatasi oleh perintah lain atau menghasilkan teks sepenuhnya


2
gagal pada OS X 10.10 dengantr: Illegal byte sequence
ssc

3
Kata-kata acak bukanlah hal yang nyata.
user877329

1
@ ssc Coba instal GNU tr( brew install coreutils) dan ganti trdengan gtr.
jdlm

tr pada Mac tidak berlaku sama seperti di Linux. Lihat posting ini: unix.stackexchange.com/questions/141420/…
aakoch

Jika Anda ingin awk di Mac Anda harus menginstal gawk brew install gawkhanya karena jenis linux yang berjalan di mac.
PrestonDocks

5

AUR Fedora dan Arch Linux memiliki lorem-ipsum-generatorpaket:

lorem-ipsum-generator -p 10 -l

akan melakukan apa yang Anda minta.

Alternatif DIY lainnya:

info bash -o -|shuf -n50|sed 's/  */ /g;s/^ //'|fmt -w 90

Ini menampilkan bashdokumentasi ke stdout, menyalurkannya ke shufyang secara acak memilih 50 baris, kemudian sedmenghapus beberapa spasi dan memimpin, dan akhirnya fmtmemformatnya menjadi garis dengan panjang sekitar 90 karakter.

Tentu saja ini hanya titik awal dan Anda mungkin perlu memperbaiki output, yang mana sed, trdan manipulator string lainnya akan membantu.

shuf, fmtdan trmerupakan bagian dari coreutils(yang memiliki peluang besar untuk diinstal pada distribusi GNU / Linux Anda).


Saya memperbaiki program sed Anda sedikit dan menambahkan kepala ke pipa sehingga Anda dapat memilih jumlah garis yang Anda inginkan:info -a bash -o - | shuf -n50 | sed -n 's/ */ /g;s/^ //;/./p' | fmt -w 90 | head -8
OscarJ

2

Meskipun tidak secara teknis Lorem Ipsum atau biner lokal, ada API di Metaphorpsum yang dapat menampilkan teks serupa tetapi dalam bahasa Inggris. Saya menyebutnya dengan curlseperti ini:

  • curl http://metaphorpsum.com/sentences/3
  • curl http://metaphorpsum.com/paragraphs/20

Lebih baik lagi, Anda dapat mendefinisikan panggilan API sebagai fungsi di profil bash atau skrip Anda seperti ini:

loremipsum () {
if [ "${1}" = "" ] || [ "${2}" = "" ]; then
echo "Usage: loremipsum [paragraphs, sentences] [integer]"
else
curl -s http://metaphorpsum.com/"${1}"/"${2}" && printf "\n"
fi
}

Anda kemudian dapat menggunakannya dengan cara yang sangat mirip dengan contoh Anda:
loremipsum paragraphs 10 >> file1.txt


1

Perintah berikut ini bermanfaat bagi saya dalam banyak situasi:

base64 /dev/urandom | awk '{print(0==NR%10)?"":$1}' | sed 's/[^[:alpha:]]/ /g' | head -50

Hal ini memberikan 50 baris di mana karakter non-abjad yang diperoleh secara acak dari base64 /dev/urandomtelah digantikan oleh ruang kosong: sed 's/[^[:alpha:]]/ /g'. Setiap baris yang indeks merupakan kelipatan dari 10 digantikan oleh string kosong (untuk pemisahan mensimulasikan paragraf): awk '{print(0==NR%10)?"":$1}'.

Anda dapat menambahkan | awk '{ print NR,$0 }'di akhir untuk mendapatkan baris bernomor (atau lainnya yang memenuhi kebutuhan Anda). Script bash yang dapat dieksekusi lipsumyang menerima jumlah baris sebagai argumen bisa berguna.

#!/usr/bin/bash
base64 /dev/urandom | awk '{print(0==NR%10)?"":$1}' | sed 's/[^[:alpha:]]/ /g' | head -$1 | awk '{ print NR,$0 }'

lipsum 100 > output_file


(1) Perintah awk Anda membuang setiap baris kesepuluh. Tidak masalah untuk teks acak, tetapi untuk aplikasi yang kurang sepele yang mungkin ingin Anda gunakan awk '{print}0==NR%10{print""}'untuk menambahkan baris kosong setelah setiap baris kesepuluh. (2) Ya, awk '{ print NR,$0 }'akan mencetak nomor baris, tetapi perhatikan bahwa ada alat lain yang dirancang khusus untuk melakukan itu (seperti nldan  cat -n).
G-Man Mengatakan 'Reinstate Monica'

Terima kasih @ G-Man. (1) Untuk aplikasi yang tidak terlalu sepele, Anda mungkin mempertimbangkan base64 /dev/urandom | sed '{0~10 s/^.*//;0~10!s/[^A-z]/ /g;50q0}'tetapi yang ini tampaknya kurang jelas bagi saya. (2) Perhatikan bahwa dalam hal ini, nldan cat -njangan memberikan penomoran baris yang sama.
ninfito


0

Saya membuat solusi offline sederhana dengan menggunakan salah satu dari banyak generator lorem ipsum di web. Simpan teks dalam jumlah sedang - misalnya 20 paragraf - dalam file, dan buat skrip berikut ini dapat dieksekusi:

#!/bin/bash
file=$HOME/lib/text/lorem_ipsum && cat $file


0

Hasilkan teks lorem ipsum acak menggunakan API Metaphorpsum

Default untuk 3 kalimat

lorem() { 
  curl -s http://metaphorpsum.com/sentences/${1-3} | pbcopy
  pbpaste | grep .
}

BOUNS: menghindari kemajuan keriting, menghapus% dari output, dan menambahkan ke clipboard Anda untuk kemudahan menempel, sambil tetap menampilkan ke stdout

Contoh penggunaan # 1:

lorem

Itu fakta yang tidak bisa disangkal, sungguh; starter adalah cadik. Seseorang tidak dapat memisahkan profesor dari gas murung. Sedikit yang bisa menyebutkan oli yang tidak dirajut yang bukan kerabat yang curiga.

Contoh penggunaan # 2:

lorem 1

Swedia seperti shrinel berasal dari sirup terkemuka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.