Inilah cara melakukannya awk:
awk 'NR>2 {print t} {t=$0}'
Juga cara lain untuk sed:
sed '1d;x' file.txt
xadalah sedperintah tingkat lanjut , ia beralih baris saat ini dengan yang sebelumnya: saat ini masuk ke buffer dan sebelumnya pergi ke layar dan seterusnya saat sedmemproses aliran baris demi baris (inilah sebabnya baris pertama akan kosong).
awksolusi pada setiap langkah (baris) menempatkan baris saat ini ke dalam variabel dan mulai mencetaknya hanya setelah baris kedua dilewati. Dengan demikian, kami mendapat urutan garis shitfed pada layar dari yang kedua ke yang terakhir. Baris terakhir dihilangkan karena baris dalam variabel dan harus dicetak hanya pada langkah berikutnya, tetapi semua langkah sudah habis dan kita tidak pernah melihat garis di layar.
Gagasan yang sama di perl:
perl -ne 'print $t if $.>2 ; $t=$_' file.txt
$.singkatan dari nomor baris dan $_ untuk baris saat ini.
perl -nadalah jalan pintas untuk while(<..>) {..}struktur dan -euntuk skrip inline.
head -n -1menghapus baris pertama DAN terakhir dari.txtfile saya , di Ubuntu 14.04.2LTS.