मैं समझता हूं कि sedटेक्स्ट फाइल में हेरफेर करने के लिए यह एक कमांड है।
मेरे Googling से, ऐसा लगता -iहै कि फ़ाइल पर ही ऑपरेशन करना है, क्या यह सही है?
किस बारे में '1d'?
मैं समझता हूं कि sedटेक्स्ट फाइल में हेरफेर करने के लिए यह एक कमांड है।
मेरे Googling से, ऐसा लगता -iहै कि फ़ाइल पर ही ऑपरेशन करना है, क्या यह सही है?
किस बारे में '1d'?
जवाबों:
इन sed:
-i विकल्प इनपुट फ़ाइल को जगह में संपादित करेगा
'1d' इनपुट फ़ाइल की पहली पंक्ति को हटा देगा
उदाहरण:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
ध्यान दें, -iविकल्प का उपयोग करते समय बैकअप लेने के लिए अधिकांश समय यह एक अच्छा विचार है ताकि आपके पास किसी भी अप्रत्याशित परिवर्तन के मामले में मूल फ़ाइल बैकअप हो।
उदाहरण के लिए, यदि आप करते हैं:
sed -i.orig '1d' file.txt
मूल फ़ाइल को रखा जाएगा file.txt.origऔर संशोधित फ़ाइल होगी file.txt।
sed '1d' file.txt
की सामग्री प्रिंट file.txt; पहली पंक्ति को छोड़कर; मानक उत्पादन के लिए।
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
की सामग्री प्रिंट file.txt; पहली पंक्ति को छोड़कर; में वापस file.txt; मूल लेखन।
sed -i.back '1d' file.txt
file.txt.backपरिवर्तन करने से पहले मूल (अ.स.) का बैकअप बनाता है । FreeBSD को छोड़कर sed, प्रत्यय (यहाँ .back) -iविकल्प से जुड़ा होना चाहिए (एक ही तर्क में, बीच में कोई स्थान नहीं -iऔर .back)।
sed '2d' file.txt
की सामग्री प्रिंट file.txt; दूसरी पंक्ति को छोड़कर; मानक उत्पादन के लिए।
(किसी भी संख्या को निर्दिष्ट करने से संबंधित लाइन हट जाएगी)।
-iध्वज के साथ भी संगत ।
sed '1!d' file.txt
की सामग्री प्रिंट file.txt; सभी को छोड़कर, लेकिन पहली पंक्ति; मानक उत्पादन के लिए।
(दूसरे शब्दों में, केवल पहली पंक्ति मुद्रित होती है)।
-iध्वज के साथ भी संगत ।
sed '$d' file.txt
की सामग्री प्रिंट file.txt; अंतिम पंक्ति को छोड़कर; मानक उत्पादन के लिए।
-iध्वज के साथ भी संगत ।
में sed -hहै:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
और 'फ़ाइल पर ही ऑपरेशन करें।' यह पूरी तरह से।
और manकहा: 'सैड एक धारा संपादक है। एक स्ट्रीम एडिटर का उपयोग इनपुट स्ट्रीम (एक पाइपलाइन से एक फ़ाइल या इनपुट) पर बुनियादी पाठ परिवर्तन करने के लिए किया जाता है। '
आपके प्रश्न के रूप में,
sed -i '1d' file_name
का अर्थ है: जगह पर फ़ाइल में पहली पंक्ति को हटाने"file_name" और फ़ाइल के लिए बैकअप। (फ़ाइल को संपादित करने और सीधे पहली पंक्ति को हटाने की तरह।)
-iहैं कि पहले क्या होता है "ड्राई रन" , फिर-iफाइल को बदलने के लिए उपयोग करें।