यहाँ यह कैसे करना है awk
:
awk 'NR>2 {print t} {t=$0}'
इसके लिए एक और तरीका sed
:
sed '1d;x' file.txt
x
उन्नत sed
कमांड है, यह वर्तमान लाइन को पिछले एक के साथ स्विच करता है: करंट बफर में चला जाता है और पिछली स्क्रीन पर चला जाता है और इसी तरह से sed
लाइन द्वारा लाइन को संसाधित करते समय (इस कारण पहली लाइन खाली होगी)।
awk
प्रत्येक स्टेप (लाइन) पर समाधान करंट लाइन को वेरिएबल में डालता है और दूसरी लाइन द्वारा पास होने के बाद ही इसे प्रिंट करना शुरू करता है। इस प्रकार, हमें स्क्रीन पर दूसरी से अंतिम, लेकिन एक तक लाइनों के shitfed अनुक्रम मिला। अंतिम पंक्ति को छोड़ दिया गया है क्योंकि रेखा चर में है और इसे केवल अगले चरण पर मुद्रित किया जाना चाहिए, लेकिन सभी चरण पहले ही समाप्त हो चुके हैं और हम स्क्रीन पर कभी भी रेखा नहीं देखते हैं।
में एक ही विचार perl
:
perl -ne 'print $t if $.>2 ; $t=$_' file.txt
$.
लाइन नंबर के लिए और $_
वर्तमान लाइन के लिए खड़ा है । संरचना के
perl -n
लिए शॉर्टकट है while(<..>) {..}
और -e
इनलाइन स्क्रिप्ट के लिए है।
head -n -1
मेरी.txt
फ़ाइल की पहली और अंतिम पंक्ति को हटा देता है ।