आसानी से कमांड लाइन के साथ एक टेक्स्ट फ़ाइल में लाइन नंबर जोड़ें

ब्रायन पूछता है: "मुझे एक टेक्स्ट फ़ाइल में लाइन नंबर जोड़ने की जरूरत है। मेरा मतलब टेक्स्ट एडिटर में लाइन नंबर नहीं है, मेरा मतलब है कि टेक्स्ट फ़ाइल के अंदर प्रत्येक आइटम के बगल में एक नंबर जोड़ना। क्या यह स्वचालित करना संभव है या मुझे फ़ाइल टाइपिंग 1, 2, 3 मैन्युअल रूप से संपादित करना और पागल होना है? "

हां, आप टेक्स्ट फ़ाइल में लाइन नंबरों को आसानी से हार्डकोड कर सकते हैं ... हम आपको दिखाएंगे कि यह कैसे करें! पूरी तरह से स्पष्ट होने के लिए, यह करने के लिए क्या किया जा रहा है, पाठ की प्रत्येक नई पंक्ति के बाईं ओर एक गिनती रेखा संख्या जोड़ें, उचित रेखा के साथ प्रत्येक पंक्ति को उपसर्ग करना। यह हार्ड फ़ाइल को टेक्स्ट फ़ाइल में कोड करता है, जिसका अर्थ है कि यह टेक्स्ट वर्ंगलर, वीआईएम, या बीबीईडिट जैसे ऐप में लाइन नंबर दिखाने से अलग है।

प्रारंभ करने के लिए, टर्मिनल पर जाएं और आप कमांड लाइन प्रॉम्प्ट पर निम्न कार्य करना चाहेंगे:

टेक्स्ट फ़ाइल में लाइन नंबर जोड़ने के लिए बिल्ली का उपयोग करना

यह अब तक का सबसे आसान तरीका है:
cat -n file > file_new

फ़ाइल नाम के साथ बस "फ़ाइल" को प्रतिस्थापित करें, जिसे आप लाइन नंबर जोड़ना चाहते हैं, और "file_name" को निर्यात किए गए नाम में बदलना चाहते हैं।

आप अगले वर्णित 'nl' कमांड का भी उपयोग कर सकते हैं:

एनएल कमांड का उपयोग कर एक टेक्स्ट फ़ाइल में हार्ड कोर लाइन नंबर

फिर, उस फ़ाइल के उपयुक्त नाम के साथ "फ़ाइल नाम" और "filenamenumbered" को प्रतिस्थापित करें, जिसमें आप लाइन नंबर जोड़ रहे हैं:

nl -ba -s ': ' filename > filenamenumbered

यही सब है इसके लिए! आप या तो चाल का उपयोग कर सकते हैं। कई पाठकों ने टिप्पणियों में एक पाठ फ़ाइल के भीतर लाइनों को संख्याबद्ध करने के लिए आसान समाधान प्रदान करने के लिए टिप्पणियों में चिंतित किया। वे सादगी के क्रम में ऊपर सूचीबद्ध थे, लेकिन हम भी नीचे 'अजीब' समाधान प्रदान करेंगे।

-

आप कमांड लाइन टूल 'awk' का भी उपयोग कर सकते हैं, लेकिन ऊपर उल्लिखित विधियों की तुलना में यह थोड़ा अधिक जटिल है, यदि आप टर्मिनल लॉन्च करना चाहते हैं और दूर जाते हैं।

सबसे पहले, अजीब घटना में अपनी टेक्स्ट फ़ाइल बैकअप करना सुनिश्चित करें कुछ गलत हो जाता है (सिंटैक्स त्रुटि की तरह)। अब जब आपने प्रश्न में टेक्स्ट फ़ाइल का बैकअप बना लिया है, तो हम इसमें लाइन नंबर सीधे लिखें:

awk '{printf("%5d : %s\n", NR, $0)}' filename > filenamenumbered

फ़ाइल नाम मूल फ़ाइल है, और filenamenumbered जो भी आप awk कमांड के आउटपुट को इसके साथ जुड़े लाइन नंबर के साथ कॉल करना चाहते हैं। आपके आउटपुट टेक्स्ट दस्तावेज़ में अब प्रत्येक पंक्ति वस्तु से पहले एक कोलन द्वारा एक नंबर होगा:

1: शब्दों के साथ लाइन
2: शब्दों के साथ लाइन
3: शब्दों के साथ लाइन

आपकी मूल पाठ फ़ाइल अपरिवर्तित होनी चाहिए, लेकिन यदि आपने बैकअप फ़ाइल की तुलना में सिंटैक्स त्रुटि की है तो आपके दिन को बचाएगा। यह आदेश किसी भी यूनिक्स ओएस में काम करेगा जिसमें बहुत समर्थन है, इसलिए फ्रीबीएसडी, लिनक्स, मैक ओएस एक्स, या जो भी अन्य संस्करण आप सोच सकते हैं, में इस कमांड को चलाने के लिए स्वतंत्र महसूस करें।