मैं इनपुट फ़ाइल में अंग्रेजी वर्णमाला में प्रत्येक अक्षर की उपस्थिति की आवृत्ति को जानने का प्रयास कर रहा हूं। मैं इसे बैश स्क्रिप्ट में कैसे कर सकता हूं?फ़ाइल में प्रत्येक पत्र की आवृत्ति को खोजने के लिए बैश स्क्रिप्ट
उत्तर
बस एक awk आदेश
awk -vFS="" '{for(i=1;i<=NF;i++)w[$i]++}END{for(i in w) print i,w[i]}' file
अगर आप केस संवेदी चाहते हैं, tolower()
awk -vFS="" '{for(i=1;i<=NF;i++)w[tolower($i)]++}END{for(i in w) print i,w[i]}' file
जोड़ सकते हैं और आप केवल पात्रों चाहते हैं,
awk -vFS="" '{for(i=1;i<=NF;i++){ if($i~/[a-zA-Z]/) { w[tolower($i)]++} } }END{for(i in w) print i,w[i]}' file
और अगर आप केवल अंक चाहते हैं, /[0-9]/
को /[a-zA-Z]/
बदल अगर आप यूनिकोड को दिखाने के लिए नहीं करना चाहते, कर export LC_ALL=C
आपके उत्तर के लिए धन्यवाद। – SkypeMeSM
मुझे खेद है कि मैं अजीब से बहुत परिचित नहीं हूं। समाधान काम करता है लेकिन मुझे केवल अल्फान्यूमेरिक वर्णों के बजाय सभी वर्ण मिल रहे हैं। awk -vFS = "" '{के लिए (i = 1; i <= एनएफ; i ++) w [tolower ($ i)] ++ sum ++} END {के लिए (i w में) प्रिंट I, w [i], w [i]/sum} ' – SkypeMeSM
फिर से धन्यवाद। मैं सोच रहा हूं कि मुझे ü 2 और é 2 जैसे परिणाम क्यों मिलते हैं, जब रेगेक्स [ए-जेए-जेड] होता है। – SkypeMeSM
यहाँ एक सुझाव है:
while read -n 1 c
do
echo "$c"
done < "$INPUT_FILE" | grep '[[:alpha:]]' | sort | uniq -c | sort -nr
उत्तर देने के लिए धन्यवाद। – SkypeMeSM
sed
, sort
और uniq
के साथ एक समाधान:
sed 's/\(.\)/\1\n/g' file | sort | uniq -c
यह सभी पात्रों की गणना करता है, न केवल अक्षरों। आप के साथ बाहर फ़िल्टर कर सकते हैं:
sed 's/\(.\)/\1\n/g' file | grep '[A-Za-z]' | sort | uniq -c
आप अपरकेस और एक ही रूप में लोअरकेस विचार करने के लिए, बस एक अनुवाद जोड़ने चाहते हैं:
sed 's/\(.\)/\1\n/g' file | tr '[:upper:]' '[:lower:]' | grep '[a-z]' | sort | uniq -c
धन्यवाद के साथ काम नहीं कर रहा है।यह अपरकेस और लोअरकेस अक्षरों को अलग मानता है। मैं उन आवृत्तियों की गणना कैसे कर सकता हूं जहां हम ए और एक जैसा मानते हैं? – SkypeMeSM
हां यह भी अच्छा काम करता है। मैं सोच रहा हूं कि मैं संभावनाओं की गणना कैसे कर सकता हूं यानी आवृत्ति/कुल योग। हमें आउटपुट को दोबारा फिर से पाइप करने की आवश्यकता होगी, लेकिन मैं शामिल रेगेक्स को समझ नहीं सकता? – SkypeMeSM
आप कुछ 'wc', 'cut',' dc', 'tee' और अन्य कमांड जोड़ सकते हैं लेकिन यह एक रखरखाव कार्य की तुलना में प्लेटों के साथ अधिक जुगलिंग होगा। मुझे लगता है कि एक पर्ल स्क्रिप्ट के साथ और अधिक सुविधाएं जोड़ना आसान होगा। – mouviciel
grep
, sort
और uniq
का उपयोग कर मेरे समाधान।
grep -o . file | sort | uniq -c
मामले पर ध्यान न दें:
grep -o . file | sort -f | uniq -ic
इसके बाद मैं आवृत्ति/योग (सभी आवृत्तियों) कैसे प्राप्त कर सकता हूं? – SkypeMeSM
यह मैक के टर्मिनल के साथ काम करता है। प्रत्येक चरित्र की आवृत्ति प्राप्त करने के लिए –
@ स्काइपएमईएसएम, केवल वर्णों की कुल संख्या (जिसे 'wc -c फ़ाइल' द्वारा दिया गया है) से विभाजित करें। –
mouviciel करने के ऊपर का जवाब ही तरह, लेकिन बीएसडी प्रणाली, जब आप जीएनयू, SED नहीं है पर इस्तेमाल किया बॉर्न और कॉर्न के गोले के लिए अधिक सामान्य है, जिसमें \ N का समर्थन करता है
sed -e's/./&\
/g' file | sort | uniq -c | sort -nr
या स्क्रीन पर दृश्य विभाजन से बचने के लिए, द्वारा CTRL + V Ctrl + जम्मू
एक शाब्दिक न्यू लाइन डालने: एक प्रतिस्थापन, तो आप एक नई पंक्ति बच बैकस्लैश कर सकते हैं 210sed -e's/./&\^J/g' file | sort | uniq -c | sort -nr
- 1. शैल स्क्रिप्ट प्रत्येक फ़ाइल में पाठ जोड़ने के लिए?
- 2. शेल स्क्रिप्ट अपने पथ से फ़ाइल नाम खोजने के लिए
- 3. फ़ाइल में एक पैटर्न खोजने के लिए Grep का उपयोग करके बैश स्क्रिप्ट
- 4. बैश स्क्रिप्ट लॉग फ़ाइल लगातार
- 5. बैश: आवृत्ति तालिका से प्रतिशत प्राप्त करना
- 6. टेक्स्ट फ़ाइल में अक्षरों की गणना आवृत्ति
- 7. PHP स्क्रिप्ट चलाने के लिए बैश स्क्रिप्ट
- 8. मैं बैश स्क्रिप्ट में खोजने के परिणामों को कैसे संसाधित कर सकता हूं?
- 9. बैश स्क्रिप्ट में
- 10. बैश स्क्रिप्ट
- 11. बैश स्क्रिप्ट - पाठ
- 12. बैश स्क्रिप्ट
- 13. कैसे एक फ़ाइल खोजने के लिए SSH
- 14. बैश स्क्रिप्ट
- 15. एसआईजीआईएनटी बैश स्क्रिप्ट में पढ़ने को रद्द करने के लिए?
- 16. स्क्रिप्ट में प्रत्येक पंक्ति की शब्द गणना
- 17. स्क्रिप्ट डोमेन के पेजरैंक को खोजने के लिए
- 18. एक बैश स्क्रिप्ट
- 19. निर्देशिका और पैटर्न मिलान फ़ाइल नामों में फ़ाइलों को पुन: सक्रिय करने के लिए बैश स्क्रिप्ट
- 20. बैश स्क्रिप्ट
- 21. बैश स्क्रिप्ट
- 22. बैश स्क्रिप्ट
- 23. बैश स्क्रिप्ट
- 24. विभाजित पाठ फ़ाइल का उपयोग बैश स्क्रिप्ट
- 25. बैश स्क्रिप्ट
- 26. एसएसएच कनेक्शन की जांच के लिए बैश स्क्रिप्ट कैसे बनाएं?
- 27. बैश स्क्रिप्ट
- 28. लॉग फ़ाइलों को संग्रहीत करने के लिए बैश स्क्रिप्ट
- 29. बैश स्क्रिप्ट
- 30. बैश स्क्रिप्ट
आप इसके लिए बैश का उपयोग क्यों कर रहे हैं? –
कहीं भी इस प्रोग्रामिंग सवाल मिला !! मुझे लगता है कि पर्ल बेहतर विकल्प होगा, है ना? – SkypeMeSM