मुझे आश्चर्य है कि इस पुराने प्रश्न में किसी ने सबसे आम नहीं दिखाया है (और इस मामले में काफी सरल) sed कमांड:
$ sed -i '1s/^/new_text\
/' file_name
जो अधिकांश गोले में काम करता है और कई सेड संस्करण के लिए पोर्टेबल है।
यदि GNU sed उपलब्ध है, तो आप इसका उपयोग कर सकते हैं:
$ sed -i '1s/^/new_text\n' file_name
अंतर यह है कि GNU sed \n
एक न्यूलाइन के लिए उपयोग की अनुमति देता है और अन्य को बैकस्लैश से पहले एक शाब्दिक न्यूलाइन की आवश्यकता होती है (जो कि वैसे भी GNU सेड में काम करते हैं)।
यदि एक शेल जो $'…'
वाक्यविन्यास स्वीकार करता है उपयोग में है, तो आप सीधे नई पंक्ति सम्मिलित कर सकते हैं, इसलिए sed यह देखता है कि newline पहले से ही है:
$ sed -i $'1s/^/new_text\\\n/' file_name
जो अधिक सेड संस्करण के लिए काम करता है।