मैं फ़ाइल को vim में संपादित करते हुए किसी फ़ाइल में शब्दों की संख्या कैसे गिन सकता हूं


21

मुझे पता है कि मैं कमांड लाइन परwc वर्णों, शब्दों और फाइलों की पंक्तियों की गिनती के लिए उपयोग कर सकता हूं ।

क्या कोई तरीका है जिससे मैं व्यर्थ में शब्दों की संख्या गिन सकता हूं ?

जवाबों:


22

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

प्रेस gऔर फिर CTRL- g। फिर नीचे की रेखा इस तरह के उदाहरण के लिए देखो:

Col 1 of 11; Line 1 of 106; Word 1 of 344; Byte 1 of 2644

या viशेल कमांड को कॉल करने के लिए विधि का उपयोग करें:

:w !wc -w

यह सेव ( :w) कमांड को पहले कॉल करता है और फिर wc -wआउटपुट दिखाता है। उदाहरण:

:w !wc -w
344

Press ENTER or type command to continue

Enterवापस जाने के लिए दबाएँ vi


यह वास्तव में :w !<cmd>निर्माण का गलत विवरण है । यह कमांड से जुड़े पाइप में करंट बफर को लिखता है। किसी फ़ाइल में वर्तमान बफ़र का कोई अलग से लिखने का वादा नहीं किया गया है। फिर भी, यह वही करता है जो प्रश्न के लिए पूछा जाता है।
9

1

आप :!wc %विम के लिए भी प्रयास कर सकते हैं , हालांकि यह फ़ाइल के आकार को डिस्क पर गिनता है, न कि विम के बफर में। यह वही हो सकता है या नहीं जो आप चाहते थे।


यह गणना करता है कि डिस्क पर क्या है (यदि कुछ भी), न कि बफर में क्या है - इसलिए यदि आपने पिछले सहेज के बाद से बफर की सामग्री को बदल दिया है, या बिल्कुल नहीं बचाया है, तो आपको गलत गणना (या यहां तक ​​कि एक त्रुटि होगी) आप एक फ़ाइल बना रहे हैं)।
स्टीफन किट

कॉन्ट्रा स्टीफन, इस है "मैं शब्दों की संख्या की गणना कर सकते हैं करने के लिए एक सही समाधान एक फ़ाइल में संपादन vim में फ़ाइल, जबकि", जबकि स्वीकार किए जाते हैं जवाब सख्ती से बोलने नहीं है (हालांकि यह अस्पष्ट है क्या मतलब था या क्या यह मायने रखती है )।
माइकल होमर

-wD_Bye (जो स्पष्ट रूप से इसे स्वयं हटा दिया गया) द्वारा 2014 से हटाए गए उत्तर के लिए मजेदार है कि यह समान है ( केवल शब्दों को आउटपुट प्रतिबंधित करने के लिए ध्वज)।
जेफ स्कालर

0

विम-एयरलाइन जैसे प्लगइन्स एक स्थिति पट्टी के हिस्से के रूप में फ़ाइल (और चयन) के लिए शब्द गणना प्रदान कर सकते हैं।


यह उत्तर केवल लिंक नहीं है। मैंने किसी विशेष प्लगइन की बारीकियों को शामिल नहीं किया, क्योंकि (जैसा कि आप कहते हैं) विशेष प्लगइन्स पुराने हो सकते हैं।
पैट्रिक सानन

मुझे सही साबित होना है। हालाँकि मैं कहूंगा कि भविष्य में आपको जो समाधान पेश कर रहे हैं उसे लागू करने के लिए प्रासंगिक कदमों को शामिल करने की कोशिश करनी चाहिए। धन्यवाद!
केमोटेप

0

उन लोगों के लिए जो किसी दिए गए पाठ में शब्दों की संख्या गिनना चाहते हैं (संपूर्ण फ़ाइल नहीं), \S\+regexp का उपयोग करें ।

  1. रुचि का पाठ चुनें (दृश्य विधा)
  2. :s/\S\+//gn

परिणाम। विम आपको कुछ इस तरह दिखाएगा:10 matches on 1 line

जब आप :दृश्य मोड में आते हैं, तो विम आपकी कमांड '<,'>को चयनित पाठ के खिलाफ कमांड को लागू करने का अर्थ देता है।

\S\+ शब्दों को पकड़ता है, जो कि व्हाट्सएप द्वारा अलग किए गए वर्णों का समूह है।

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