2011-02-03 9 views
27

एक आसान तरीका एक शब्द एक फ़ाइल में दिखाए जाने की गिनती करने के लिए क्या है?लिनक्स आदेश, एक आसान तरीका एक शब्द एक फ़ाइल में दिखाए जाने की गिनती करने के लिए क्या है?

+1

आप 'शब्द' कैसे परिभाषित करते हैं? क्या यह सिर्फ एक स्ट्रिंग है, या रिक्त स्थान से घिरा हुआ एक स्ट्रिंग, वर्णों के एक सेट से घिरा हुआ एक स्ट्रिंग है? ये कौन से पात्र हो सकते हैं? – abesto

+0

एक 48 गुणक स्ट्रिंग, कोई स्थान नहीं है और ascii – magqq

उत्तर

75

यह भी एक पंक्ति में शब्द के अनेक गतिविधियां माना जाएगा:

grep -o 'word' filename | wc -l 
+0

आह, '-o' जादू करता है। अच्छा जवाब, कभी नहीं जानता था। आज कोई और अपवॉट नहीं है :( –

+0

परीक्षण से पहले, फ़ाइल को बिल्ली क्यों डालें, फिर यह एक ही पंक्ति पर एकाधिक शब्द को गिनती है? – magqq

+0

जिस कारण से मैं जानना चाहता हूं वह प्रदर्शन के लिए है क्योंकि हमारे पास बड़ी लॉग फाइलें हैं उन jsession id, बहुत दर्दनाक, उन तेज़ों की गिनती की ज़रूरत है, लेकिन अच्छी तरह से किया गया है, अब तक मुझे यह सबसे अच्छा लगता है, thx mohit6up! – magqq

4

ग्रेप -c शब्द फ़ाइल

अगर आप केस संवेदी चाहते हैं, का उपयोग ग्रेप -ic

+1

के अलावा कोई विशेष गुणक नहीं है, यह एक पंक्ति पर एक ही शब्द की कई घटनाओं के लिए जिम्मेदार नहीं होगा। – nc3b

+0

दिलचस्प बिंदु। आप उल्लेख कर सकते हैं कि आप अपने उत्तर में tr का उपयोग क्यों कर रहे हैं। –

2
cat filename | tr ' ' '\n' | grep 'word' | wc -l 
-1
fgrep "word to be counted" filename|wc -w 
+0

हालांकि यह कोड प्रश्न का उत्तर दे सकता है, इस बारे में अतिरिक्त संदर्भ प्रदान करता है कि कैसे और/या यह समस्या हल क्यों करता है उत्तर के दीर्घकालिक मूल्य में सुधार होगा। – Badacadabra

संबंधित मुद्दे

 संबंधित मुद्दे