GNU/Linux >> Belajar Linux >  >> Linux

unix - kepala DAN ekor file

Anda cukup:

(head; tail) < file.txt

Dan jika Anda perlu menggunakan pipa karena alasan tertentu, seperti ini:

cat file.txt | (head; tail)

Catatan:akan mencetak baris duplikat jika jumlah baris di file.txt lebih kecil dari garis standar kepala + garis ekor standar.


Untuk aliran murni (mis. output dari perintah), Anda dapat menggunakan 'tee' untuk memotong aliran dan mengirim satu aliran ke kepala dan satu ke ekor. Ini membutuhkan penggunaan fitur '>( list )' dari bash (+ /dev/fd/N):

( COMMAND | tee /dev/fd/3 | head ) 3> >( tail )

atau menggunakan /dev/fd/N (atau /dev/stderr) plus subkulit dengan pengalihan rumit:

( ( seq 1 100 | tee /dev/fd/2 | head 1>&3 ) 2>&1 | tail ) 3>&1
( ( seq 1 100 | tee /dev/stderr | head 1>&3 ) 2>&1 | tail ) 3>&1

(Tidak satu pun dari ini akan berfungsi di csh atau tcsh.)

Untuk sesuatu dengan kontrol yang sedikit lebih baik, Anda dapat menggunakan perintah perl ini:

COMMAND | perl -e 'my $size = 10; my @buf = (); while (<>) { print if $. <= $size; push(@buf, $_); if ( @buf > $size ) { shift(@buf); } } print "------\n"; print @buf;'

ed adalah standard text editor

$ echo -e '1+10,$-10d\n%p' | ed -s file.txt

Linux
  1. Perintah Head and Tail di Linux Dijelaskan dengan Contoh

  2. Linux – Memahami Izin Unix Dan Jenis File?

  3. Izin File Dan Menyimpan?

  1. Redirect Dan Output Pipa?

  2. Bagaimana cara mengaktifkan pengindeksan file dan direktori Apache di Linux atau UNIX?

  3. Unix - buat jalur folder dan file

  1. Pengalihan Io Dan Perintah Kepala?

  2. Grep Dan Ekor -f?

  3. Contoh Perintah ekor Linux