क्या लॉरम इप्सम जनरेटर की तरह कुछ है?


20

क्या ' लोरेम इप्सम जनरेटर' जैसा कुछ है ? मुझे पता है कि यह लेटेक्स में मौजूद है, और यहां तक ​​कि लिब्रे ऑफिस में भी, लेकिन मैं एक टर्मिनल कमांड की तलाश में हूं। मैं कुछ ऐसा टाइप loremipsum 10 >> file1.txtकरना चाहूंगा जिससे मुझे लोरेम इप्सम के पहले 10 पैराग्राफ मिल जाएं, प्रत्येक पैराग्राफ में एक LF- वर्ण और 1 खाली सफ़ेद लाइन के बीच प्रत्येक पैराग्राफ समाप्त हो गया। और आउटपुट को मौजूदा डायरेक्टरी में file1.txt नामक फाइल पर रीडायरेक्ट किया जाएगा।




1
लिप्स डॉट कॉम हमेशा से रहा है जब मुझे इसकी आवश्यकता थी (हाँ, मुझे पता है कि यह स्थानीय नहीं है, बस एक और तरीका प्रदान करता है)।
msw

जवाबों:


14

आप पर्ल लाइब्रेरी का उपयोग कर सकते हैं libtext-lorem-perl। यहाँ एक छोटा सा उदाहरण, कमांड लाइन तर्क, आदि को पार्स करने के लिए इसका विस्तार करने के लिए स्वतंत्र महसूस करें।

#!/usr/bin/env perl

use Text::Lorem;

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

print $paragraphs;

1
मुझे यह त्रुटि मिली: @INC (@INC में पाठ / Lorem.pm नहीं पाया जा सकता है (@INC में शामिल हैं: / etc / perl /usr/local/lib/perl/5.14.2/usr/local/share/sl/5.14.2) / usr / lib / perl5 / usr / share / perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 / usr / local / lib / site_perl।) at/loremipsum.pl line 3. BEGIN विफल- -कंप्लीशन गर्भपात ।/loremipsum.pl लाइन 3.
फ्रैंक 12

1
क्षमा करें, मैंने libtext-lorem-perl पैकेज स्थापित नहीं किया है। फिर से कोशिश करेंगे।
फ्रैंक

5
डेबियन पर libtext-lorem-perlपैकेज में साधारण loremकमांड होता है , इसलिए कस्टम स्क्रिप्ट की कोई तत्काल आवश्यकता नहीं है।
जोसेफ कुफनेर

5

यह बैश वन-लाइनर्स में पाया गया

 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
साथ ओएस एक्स 10.10 पर विफल रहता हैtr: Illegal byte sequence
एसएससी

3
यादृच्छिक शब्द हालांकि असली चीज नहीं हैं।
user877329

1
@ सीएसएस जीएनयू tr( brew install coreutils) स्थापित करने की कोशिश करें और trसाथ बदलें gtr
jdlm

tr मैक पर लिनक्स के समान व्यवहार नहीं करता है। इस पोस्ट को देखें: unix.stackexchange.com/questions/141420/…
aakoch

यदि आप मैक पर जागना चाहते हैं तो आपको मैक पर brew install gawkचलने वाले लाइनक्स के प्रकार के कारण सिर्फ गॉकेट स्थापित करने की आवश्यकता होगी ।
प्रेस्टनडॉक्स

5

फेडोरा और आर्क लिनक्स के AUR में एक lorem-ipsum-generatorपैकेज है:

lorem-ipsum-generator -p 10 -l

ठीक वही करेंगे जो आप पूछ रहे हैं।

एक अन्य DIY विकल्प:

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

यह bashडॉक्यूमेंटेशन को स्टैडआउट में आउटपुट करता है , इसे पाइप करता है, shufजिसमें बेतरतीब ढंग से 50 लाइनों का चयन होता है, फिर sedमल्टीपल और लीडिंग स्पेस को हटाता है, और आखिर में fmtइसे लगभग 90 कैरेक्टर्स की लाइनों को लंबा करता है।

बेशक यह सिर्फ एक शुरुआती बिंदु है और आपको आउटपुट को परिष्कृत करने की आवश्यकता हो सकती है, जिसके लिए sed, trऔर अन्य स्ट्रिंग मैनिपुलेटर्स मदद करेंगे।

shuf, fmtऔर (जीएनयू / लिनक्स वितरण पर पहले से ही स्थापित होने का एक बड़ा मौका है) के trकुछ हिस्से हैं coreutils


मैंने आपके सेड प्रोग्राम को थोड़ा ठीक किया और पाइप में एक सिर जोड़ा ताकि आप अपनी इच्छित लाइनों की संख्या का चयन कर सकें:info -a bash -o - | shuf -n50 | sed -n 's/ */ /g;s/^ //;/./p' | fmt -w 90 | head -8
OscarJ

2

जबकि तकनीकी रूप से लोरम इप्सम या एक स्थानीय बाइनरी नहीं है, मेटाफ़ोरप्सम पर एक एपीआई है जो समान पाठ का उत्पादन कर सकता है लेकिन अंग्रेजी में। मैं इसे इस curlतरह से कहता हूं :

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

बेहतर अभी भी, आप एपीआई कॉल को अपने बैश प्रोफाइल या स्क्रिप्ट की तरह एक फ़ंक्शन के रूप में परिभाषित कर सकते हैं:

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 }'अंत में जोड़ सकते हैं क्रमांकित लाइनें (या आपकी आवश्यकताओं को पूरा करने वाला कोई अन्य)। एक निष्पादन योग्य बैश-स्क्रिप्ट 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)।
जी-मैन का कहना है कि 'मोनिका'

धन्यवाद @ जी-मैन। (1) कम तुच्छ अनुप्रयोगों के लिए आप विचार कर सकते हैं base64 /dev/urandom | sed '{0~10 s/^.*//;0~10!s/[^A-z]/ /g;50q0}'लेकिन यह मुझे कम स्पष्ट लगता है। (2) ध्यान दें कि इस मामले में, nlऔर cat -nएक ही लाइन-नंबरिंग न दें।
निनफिटो


0

मैंने वेब पर कई लोरेम ipsum जनरेटर में से एक के माध्यम से एक सरल ऑफ़लाइन समाधान बनाया। पाठ की एक मध्यम मात्रा में स्टोर करें - एक फ़ाइल में 20 पैराग्राफ कहें - और निम्नलिखित स्क्रिप्ट को निष्पादन योग्य बनाएं:

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


0

मेटाफ़ोरप्सम एपीआई का उपयोग करके यादृच्छिक लोरेम इप्सम पाठ उत्पन्न करें

3 वाक्यों के लिए डिफ़ॉल्ट

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

उछाल: कर्ल प्रगति से बचा जाता है, आउटपुट से% निकालता है, और चिपकाने में आसानी के लिए आपके क्लिपबोर्ड में जोड़ता है, जबकि अभी भी स्टडआउट प्रदर्शित करता है

उदाहरण उपयोग # 1:

lorem

यह एक निर्विवाद तथ्य है; स्टार्टर एक आउटरिगर है। मूडी गैसों से प्रोफेसरों को अलग नहीं किया जा सकता है। कुछ एक अप्रकाशित तेल का नाम दे सकता है जो एक लेरी के सापेक्ष नहीं है।

उदाहरण उपयोग # 2:

lorem 1

तीर्थस्थल सनी सबसे महत्वपूर्ण सिरप से आता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.