Diberi file teks yang panjangnya tidak diketahui, bagaimana saya bisa membaca, misalnya semua kecuali 2 baris pertama file? Saya tahu tail
akan memberi saya N baris terakhir, tapi saya tidak tahu apa N sebelumnya.
Jadi untuk sebuah file
AAAA
BBBB
CCCC
DDDD
EEEE
saya ingin
CCCC
DDDD
EEEE
Dan untuk sebuah file
AAAA
BBBB
CCCC
Saya akan mendapatkan saja
CCCC
command-line
scripting
tail
unix-head
Nicholas MT Elliott
sumber
sumber
head
ini?Dengan asumsi versi ekor Anda mendukungnya, Anda dapat menentukan mulai ekor setelah garis X. Dalam kasus Anda, Anda akan melakukan 2 +1.
sumber
Solusi sederhana menggunakan awk:
sumber
{ print }
adalah tindakan default, dan dapat dihilangkan.Coba
sed 1,2d
. Ganti 2 sesuai kebutuhan.sumber
tail -n +linecount filename
akan mulai produksi pada barislinecount
darifilename
, sehinggatail -n +3 filename
harus melakukan apa yang Anda inginkan.sumber
tail -n +17 filename
akan. Saya menggunakan bash / ubuntu LTStail
menerima sintaks yang saya gunakan dalam jawaban asli saya, tetapi sekarang orang perlu menggunakan-n
opsi eksplisit . Saya telah memperbarui jawaban saya sesuai dengan itu.Gunakan ini, seandainya sampel pertama disebut sample1.dat maka
tail --lines=3 sample1.dat
yang akan mencetak semua baris dari baris ke-3 ke baris terakhir.Untuk sampel kedua, sekali lagi anggaplah itu disebut sample2.dat
tail --lines=-1 sample2.dat
yang akan mencetak baris terakhir ...sumber
tail +3 anyfile
memberikan hasil yang diinginkan untuk kasus umum, sementaratail --lines=N
membutuhkan pengetahuan N terlebih dahulu untuk memberikan hasil yang diinginkan.tail
... bukankah itu seharusnya menjadi "pantat"? (Ba-dum TISH! Terima kasih, saya akan berada di sini sepanjang minggu ...)Saya benar-benar tidak tahu bagaimana melakukannya hanya dari ekor atau kepala tetapi dengan bantuan
wc -l
(jumlah baris) dan ekspresi bash, Anda dapat mencapainya.Semoga ini membantu.
sumber
menggunakan awk untuk mendapatkan semua kecuali 2 baris terakhir
awk untuk mendapatkan semua kecuali 2 baris pertama
ATAU Anda dapat menggunakan lebih banyak
atau hanya bash
sumber