Apa cara terbaik untuk menghasilkan file mulai dari baris tertentu (jumlah besar seperti 70000). Sesuatu seperti:
cat --line=70000 <file>
command-line
cat
vonhogen
sumber
sumber
wc -l $1 | awk '{print $1}'
; lineno =expr $lineno - $2
; ekor -n $ lineno $ 1; }tail -n
Cara yang paling jelas adalah
tail
. Sintaksnya mungkin sedikit berbeda tergantung pada OS apa yang Anda gunakan:Jika Anda tidak bisa mulai
tail
bekerja, Anda bisa menggunakansed
, tetapi mungkin berakhir lebih lambat:sumber
tail
bekerja dengan baik di MinGW (pada file teks 600 MB). Waktu runtime hanya beberapa detik (tetapi file input sudah bisa berada dalam cache file).Jika alih-alih nomor baris Anda harus mulai mendaftar di baris yang berisi yang diberikan
$phrase
, coba yang berikut ini.-1000 akan terus menampilkan teks hingga 1000 baris; Anda dapat mengubah ini sesuai kebutuhan. The
sed
perintah akan memenggal 4 baris pertama dari output, yang secara otomatis dimasukkan olehmore
, mengandung baris kosong, pesan "... melompat-lompat", dan dua baris sebelumnya garis start yang Anda inginkan. Saya kira ini dapat bervariasi tergantung pada sistem Anda.sumber
Anda dapat menggunakan parameter NR dengan perintah awk :
sumber
cat messages | awk '{if (NR>=7000 && NR <7003) print}'
menampilkan baris 7000, 7001, dan 7002.ekor +250
lebih lanjut tentang perintah unix cat
sumber
tail
saran Anda sama dengan jawaban yang diterima dan lainnya dari minggu yang lalu. kenapa repot memposting?...can't find the server at www.scripterworld.com.