มีบางอย่างเช่น lorem ipsum generator หรือไม่?


20

มีบางอย่างเช่น ' lorem ipsum generator' หรือไม่? ฉันรู้ว่ามันมีอยู่ในลาเท็กซ์และแม้กระทั่งใน LibreOffice แต่ฉันกำลังมองหาคำสั่งเทอร์มินัล ฉันต้องการพิมพ์บางอย่างเช่นloremipsum 10 >> file1.txtที่จะให้ฉัน 10 ย่อหน้าแรกของ lorem ipsum แต่ละย่อหน้าลงท้ายด้วยหนึ่งตัวอักษร LF และ 1 เส้นสีขาวที่ว่างเปล่าระหว่างแต่ละ paragaph และผลลัพธ์จะถูกเปลี่ยนเส้นทางไปยังไฟล์ชื่อ file1.txt ในไดเรกทอรีปัจจุบัน



2
ลองทำดังนี้: code.google.com/p/pypsum/wiki/pypsum
Kyle Strand

1
lipsum.comอยู่ที่นั่นเสมอเมื่อฉันต้องการมัน (ใช่ฉันรู้ว่าไม่ใช่ในท้องถิ่นแค่เสนอวิธีอื่น)
msw

คำตอบ:


14

libtext-lorem-perlคุณสามารถใช้ห้องสมุด Perl นี่เป็นตัวอย่างสั้น ๆ อย่าลังเลที่จะขยายไปยังการแยกวิเคราะห์บรรทัดคำสั่ง ฯลฯ

#!/usr/bin/env perl

use Text::Lorem;

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

print $paragraphs;

1
ฉันได้รับข้อผิดพลาดนี้: ไม่สามารถค้นหาข้อความ / Lorem.pm ใน @INC (@INC มี: / 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.) ที่บรรทัด. / chloremipsum.pl 3. BEGIN ล้มเหลว - - คอมไพล์ยกเลิกที่. /loremipsum.pl บรรทัดที่ 3
แฟรงค์

1
ขออภัยฉันไม่ได้ติดตั้งแพคเกจ libtext-lorem-perl จะลองอีกครั้ง
แฟรงค์

5
บน Debian libtext-lorem-perlแพคเกจประกอบด้วยloremคำสั่งง่าย ๆดังนั้นจึงไม่จำเป็นต้องมีสคริปต์ที่กำหนดเอง
Josef Kufner

5

พบสิ่งนี้ได้ที่ 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

ต้องถูก จำกัด โดยคำสั่งอื่นหรือสร้างข้อความโดยไม่ตั้งใจ


2
ล้มเหลวใน OS X 10.10 ด้วยtr: Illegal byte sequence
ssc

3
คำที่สุ่มไม่ได้เป็นของจริง
user877329

1
@ssc ลองติดตั้ง GNU tr( brew install coreutils) และแทนที่ด้วยtr gtr
jdlm

tr บน Mac ไม่ทำงานเหมือนบน Linux ดูโพสต์นี้: unix.stackexchange.com/questions/141420/…
aakoch

หากคุณต้องการ awk บน Mac คุณจะต้องติดตั้งเพ่งพิศbrew install gawkเพราะประเภทของ linux ที่เรียกใช้บน mac
PrestonDocks

5

AURของFedoraและ Arch Linux มีlorem-ipsum-generatorแพ็คเกจ:

lorem-ipsum-generator -p 10 -l

จะทำสิ่งที่คุณขอ

อีกทางเลือก DIY:

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

bashเอกสารนี้แสดงผลเป็น stdout, ส่งไปยังท่อshufซึ่งสุ่มเลือก 50 บรรทัดจากนั้นsedลบหลายช่องว่างและนำหน้าและในที่สุดก็fmtฟอร์แมตเป็นบรรทัดยาวประมาณ 90 อักขระ

หลักสูตรนี้เป็นเพียงจุดเริ่มต้นและคุณอาจจำเป็นต้องปรับแต่งการส่งออกซึ่งsed, trและ manipulators สายอื่น ๆ จะช่วยให้

shuf, fmtและtrเป็นส่วนหนึ่งของcoreutils(ซึ่งมีโอกาสที่ดีที่จะถูกติดตั้งอยู่บนการกระจาย GNU / Linux ของคุณ)


ฉันแก้ไขโปรแกรม sed ของคุณเล็กน้อยแล้วเพิ่มหัวไปป์เพื่อให้คุณสามารถเลือกจำนวนบรรทัดที่คุณต้องการ:info -a bash -o - | shuf -n50 | sed -n 's/ */ /g;s/^ //;/./p' | fmt -w 90 | head -8
OscarJ

2

แม้ว่าจะไม่ใช่เทคนิคLorem Ipsumหรือไบนารีท้องถิ่น แต่ก็มี API บนMetaphorpsumซึ่งสามารถแสดงผลข้อความที่คล้ายกัน แต่เป็นภาษาอังกฤษ ฉันเรียกมันว่าcurlอย่างนั้น:

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

ยังดีกว่าคุณสามารถกำหนดการโทร API เป็นฟังก์ชั่นในโปรไฟล์ทุบตีหรือสคริปต์ของคุณดังนี้:

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

จากนั้นคุณสามารถใช้มันในแบบที่คล้ายกับตัวอย่างของคุณ:
loremipsum paragraphs 10 >> file1.txt


1

คำสั่งต่อไปนี้มีประโยชน์สำหรับฉันในหลาย ๆ สถานการณ์:

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

นี้จะช่วยให้ 50 สายที่ตัวละครที่ไม่ใช่ตัวอักษรที่ได้รับการสุ่มจากได้ถูกแทนที่ด้วยช่องว่าง:base64 /dev/urandom sed 's/[^[:alpha:]]/ /g'แต่ละบรรทัดที่มีดัชนีจะมีหลาย 10 จะถูกแทนที่ด้วยสตริงว่าง awk '{print(0==NR%10)?"":$1}'(เพื่อแยกจำลองของวรรค):

คุณสามารถเพิ่ม| awk '{ print NR,$0 }'ที่ท้ายเพื่อรับบรรทัดที่มีหมายเลข (หรืออื่น ๆ ที่ตรงกับความต้องการของคุณ) bash-script lipsumที่สามารถเรียกทำงานได้ซึ่งยอมรับจำนวนบรรทัดตามที่อาร์กิวเมนต์อาจมีประโยชน์

#!/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) คำสั่ง awk ของคุณทิ้งทุกบรรทัดที่สิบ มันไม่สำคัญสำหรับข้อความที่สุ่ม แต่สำหรับแอปพลิเคชันที่ไม่สำคัญคุณอาจต้องการใช้awk '{print}0==NR%10{print""}'เพื่อเพิ่มบรรทัดว่างหลังจากทุกบรรทัดที่สิบ (2) ใช่awk '{ print NR,$0 }'จะพิมพ์หมายเลขบรรทัด แต่โปรดทราบว่ามีเครื่องมืออื่น ๆ ที่ออกแบบมาเป็นพิเศษเพื่อทำเช่นนั้น (เช่นnlและ  cat -n)
G-Man พูดว่า 'Reinstate Monica'

ขอบคุณ @ G-Man (1) สำหรับแอปพลิเคชั่นเล็ก ๆ น้อย ๆ ที่คุณอาจพิจารณาbase64 /dev/urandom | sed '{0~10 s/^.*//;0~10!s/[^A-z]/ /g;50q0}'แต่อันนี้ดูเหมือนจะไม่ชัดเจนสำหรับฉัน (2) โปรดทราบว่าในกรณีนี้nlและcat -nไม่ให้หมายเลขบรรทัดเดียวกัน
ninfito


0

ฉันสร้างโซลูชันออฟไลน์อย่างง่ายโดยใช้หนึ่งในเครื่องกำเนิดไฟฟ้า lipsem ipsum จำนวนมากบนเว็บ จัดเก็บข้อความในระดับปานกลาง - พูด 20 ย่อหน้า - ในไฟล์และสร้างสคริปต์ที่ใช้งานได้ดังต่อไปนี้:

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


0

สร้างข้อความ lorem ipsum สุ่มโดยใช้ Metaphorpsum API

เริ่มต้นถึง 3 ประโยค

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

BOUNS: หลีกเลี่ยงความคืบหน้าของขด, ลบ% จากเอาท์พุท, และเพิ่มไปยังคลิปบอร์ดของคุณเพื่อความง่ายในการวาง, ในขณะที่ยังคงแสดง stdout

ตัวอย่างการใช้งาน # 1:

lorem

มันเป็นความจริงที่ปฏิเสธไม่ได้จริงๆ ผู้เริ่มต้นเป็นผู้ชักชวน เราไม่สามารถแยกอาจารย์ออกจากก๊าซอารมณ์เสียได้ มีเพียงไม่กี่คนที่สามารถระบุชื่อน้ำมันที่ไม่ได้บรรจุไว้ซึ่งไม่ได้เป็นญาติของคนโกง

ตัวอย่างการใช้งาน # 2:

lorem 1

สวีเดนมาจากน้ำเชื่อมชั้นดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.