का उपयोग कर फ़ाइल में टेक्स्ट की कई पंक्तियों को कैसे जोड़ना है, मैं एक फ़ाइल में कई लाइनें (5 या अधिक) लिखना चाहता हूं, जिसे मैं स्क्रिप्ट में बनाने जा रहा हूं। मैं इसे echo >> filename
द्वारा कर सकता हूं। लेकिन मैं जानना चाहता हूं कि ऐसा करने का सबसे अच्छा तरीका क्या है?शेल स्क्रिप्ट
उत्तर
आप यहां दस्तावेज़ का उपयोग कर सकते हैं:
cat <<EOF >> outputfile
some lines
of text
EOF
मैं आमतौर पर तथाकथित "यहाँ-दस्तावेज़" का उपयोग डेनिस का सुझाव दिया। एक विकल्प है:
(echo first line; echo second line) >> outputfile
यह बैश में तुलना प्रदर्शन करना चाहिए था के रूप में (....) एक subshell शुरू होता है, लेकिन गूंज 'inlined' है - बैश नहीं चलता है/bin/गूंज, लेकिन गूंज करता है अपने आप।
यह भी तेज़ हो सकता है क्योंकि इसमें कोई निष्पादन() नहीं है।
यदि आप टेक्स्ट में कहीं और कमांड से आउटपुट का उपयोग करना चाहते हैं तो यह शैली और भी उपयोगी है।
, आप समूह के लिए ब्रेसिज़ का उपयोग कर सकते हैं। बस अर्धविराम के साथ कमांड सूची को समाप्त करना याद रखें और रिक्त स्थान के साथ ब्रेसिज़ को अलग करें - '{पहले गूंजें; दूसरी गूंज; } >> outputfile' –
मुझे यह नहीं पता था। धन्यवाद! –
+1: लेकिन केवल स्क्रिप्ट में जेनरेट नहीं किए गए निश्चित टेक्स्ट के साथ काम करता है। कोई वर्र्स प्रतिस्थापन आदि सही नहीं है? –
@ वेलेंटीन: यह वैरिएबल, अंकगणित और कमांड प्रतिस्थापन करेगा जब तक कि आप इसे इस तरह के शुरुआती डिलीमीटर को उद्धृत करके दबाएं, उदाहरण के लिए: '' EOF''। सब्सेल बनाने से बचने के लिए –