GNU/Linux >> Tutoriales Linux >  >> Linux

unix - cabeza Y cola del archivo

Simplemente puede:

(head; tail) < file.txt

Y si necesita usar tuberías por alguna razón, haga lo siguiente:

cat file.txt | (head; tail)

Nota:imprimirá líneas duplicadas si el número de líneas en el archivo.txt es menor que las líneas predeterminadas de la cabeza + las líneas predeterminadas de la cola.


Para una transmisión pura (por ejemplo, la salida de un comando), puede usar 'tee' para bifurcar la transmisión y enviar una transmisión a la cabeza y otra a la cola. Esto requiere el uso de la función '>( lista )' de bash (+ /dev/fd/N):

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

o usando /dev/fd/N (o /dev/stderr) más subcapas con redirección complicada:

( ( 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

(Ninguno de estos funcionará en csh o tcsh).

Para algo con un poco más de control, puede usar este comando perl:

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

ed es el standard text editor

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

Linux
  1. Linux:¿comprensión de los permisos y tipos de archivos de Unix?

  2. ¿Permisos de archivo y ahorro?

  3. ¿Redirigir y canalizar la salida?

  4. UNIX/Linux:Cómo usar Sticky Bit en directorios y archivos

  5. Comandos de acceso a archivos en Linux:buscar, ordenar, encabezado, cola

DOS a Unix:comandos y ejemplos

8 ejemplos de comandos de cabeza en Linux

Comando de cola de Linux

Cómo convertir un archivo de Windows a un archivo UNIX

Comando AWK en Linux/Unix

Unix:crea una ruta de carpetas y archivos