कैसे एक यादृच्छिक .txt (ascii जैसे मानव पठनीय पाठ) फ़ाइल बनाने के लिए


43

मुझे एक पाठ फ़ाइल बनाने की आवश्यकता है जिसमें यादृच्छिक पाठ डेटा होना चाहिए जिसे मानव द्वारा पढ़ा जा सकता है। मुझे पता है कि हम उपयोग कर सकते हैं /dev/urandomऔर /dev/randomयादृच्छिक डेटा प्राप्त करने के लिए। लेकिन यह मनुष्यों द्वारा पठनीय नहीं है। मुझे एक फाइल बनाने की जरूरत है जिसमें यादृच्छिक पाठ प्रारूप हो। क्या उसे करने का कोई तरीका है?


1
"मनुष्यों द्वारा पठनीय" वास्तविक अर्थ बनाने के रूप में? पूरा वाक्य? या सिर्फ कुछ शब्दकोश शब्द?
slhck

"यादृच्छिक" की परिभाषा के आधार पर और जो आप पूरा करने की कोशिश कर रहे हैं, उसमें कई लोरम इप्सम जनरेटर उपलब्ध हैं, या लिनक्स से उपलब्ध हैं, जो अक्सर आपके डिस्ट्रो के भंडार से डाउनलोड किए जाते हैं। देखें कि क्या एक लॉरम इप्सम जनरेटर की तरह कुछ है? , ऑफ़लाइन लोरेम इप्सम जनरेटर , aur.archlinux.org/packages/lorem-ipsum-generator , आदि
फिक्सर 1234

जवाबों:


93

हम इसे कमांड का पालन करके कर सकते हैं

base64 /dev/urandom | head -c 10000000 > file.txt

यह एक फ़ाइल बनाता है जिसका नाम फ़ाइल है। 10 एमबी का आकार।


1
यह बहुत अच्छा है, यह हर 76 अक्षरों में एक नई पंक्ति भी जोड़ता है।
बुद्धिमानबाग

15

का आउटपुट प्राप्त करें:

tr -dc A-Za-z0-9 </dev/urandom 

और इसे एक फ़ाइल में पाइप करें।

आप फ़ाइल आकार को सीमित करने के लिए -c या -n के साथ हेड कमांड का उपयोग कर सकते हैं

उदाहरण 1kB फ़ाइल को बनाने के लिए a.txt:

tr -dc A-Za-z0-9 </dev/urandom | head -c 1024 > a.txt

तुम भी उपयोग कर सकते हैं [:alnum:]के बजाय A-Za-z0-9। इसके अलावा, यदि आप चाहते हैं कि रिक्त स्थान और नई tr -dc '[:alnum:] \n' ...
किस्में छिड़की जाएं

4

base64लगता है कि केवल अल्फ़ान्यूमेरिक वर्णों का उत्पादन /और +

मुझे यह पसंद है कि मुझे अधिक "विराम चिह्न" वर्ण मिलें, जैसे

'[:punct:]'
  Punctuation characters; in the 'C' locale and ASCII character
  encoding, this is ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
  ] ^ _ ` { | } ~

तो इस का उपयोग करें:

'[:graph:]'
     Graphical characters: '[:alnum:]' and '[:punct:]'

और trएकल उद्धरण 'backticks' और backslashes \ _ को हटाने के लिए उपयोग करें

tr -dc '[:graph:]' < /dev/urandom | tr -d \''\\'\` | head -c [size]

-cकरने के लिए आकार विकल्प headएक गुणक प्रत्यय हो सकता है: ख 512, kB 1000, कश्मीर 1024, एमबी 1000 * 1000, एम 1024 * 1024, जीबी 1000 * 1000 * 1000, जी 1024 * 1024 * 1024, और टी, पी के लिए पर तो , ई, जेड, वाई।


3

यदि आपके पास / dev / urandom नहीं है (क्योंकि शायद आप GitBash कंसोल का उपयोग कर रहे हैं), आप उपयोग कर सकते हैं:

openssl rand 33000 -base64 -out dump.txt

3

यदि आप असली शब्दों से चिपके रहना चाहते हैं तो उस ट्रिक का उपयोग करें:

cat /usr/share/dict/words | sort -R | head -1024 > file.txt

ध्यान दें कि आप ज्यामिति (प्रति पंक्ति कितने शब्द, कितनी पंक्तियाँ) निर्दिष्ट नहीं करते हैं?

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