यहाँ यह कैसे करना है 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फ़ाइल की पहली और अंतिम पंक्ति को हटा देता है ।