GNU/Linux >> Linux Esercitazione >  >> Linux

unix - testa E coda del file

Puoi semplicemente:

(head; tail) < file.txt

E se hai bisogno di utilizzare pipe per qualche motivo, allora in questo modo:

cat file.txt | (head; tail)

Nota:stamperà righe duplicate se il numero di righe in file.txt è inferiore alle righe di testa predefinite + righe di coda predefinite.


Per un flusso puro (ad esempio l'output di un comando), puoi utilizzare 'tee' per eseguire il fork del flusso e inviare un flusso in testa e uno in coda. Ciò richiede l'utilizzo della funzionalità '>( list )' di bash (+ /dev/fd/N):

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

o usando /dev/fd/N (o /dev/stderr) più subshell con reindirizzamento complicato:

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

(Nessuno di questi funzionerà in csh o tcsh.)

Per qualcosa con un controllo leggermente migliore, puoi usare questo 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 è il standard text editor

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

Linux
  1. Esempi di comandi tail di Linux

  2. Come posso abilitare l'indicizzazione di file e directory Apache in Linux o UNIX?

  3. UNIX / Linux:come utilizzare Sticky Bit su directory e file

  4. Visualizza i file usando i comandi cat, more, tail, head e wc

  5. esempi di comandi tail in UNIX/Linux

Da DOS a Unix:comandi ed esempi

8 Esempi di comandi principali in Linux

Comando coda di Linux

Come convertire un file Windows in un file UNIX

Comando AWK in Linux/Unix

Comandi di accesso ai file in Linux:trova, ordina, testa, coda