rimuovere la prima row in bash

Avete un metodo per rimuovere rapidamente la prima row di un file nella shell bash? Voglio dire sedere o roba simile.

One-liners in ordine inverso di lunghezza, porttile a less che non sia stato osservato.

sed (necessità GNU sed per -i ):

 sed -i 1d file 

ed (richiede ad esempio bash per $'...' espansione e qui string):

 ed file <<< $'1d\nw\nq' 

awk :

 awk NR\>1 infile > outfile 

tail :

 tail -n +2 infile > outfile 

read + cat :

 (read x; cat > outfile) < infile 

bash incorporati:

 while IFS= read -r; do ((i++)) && printf %s\\n "$REPLY" >> outfile; done < infile 
 $ tail -n +2 <<< $'1\n2\n3' 2 3 

Usando dd

 fn = "Il-BIG-file.txt"
 fll = $ (($ (capo -n 1 $ fn | wc -c) + 1))
 dd if = "$ fn" di = "$ {fn} .out" bs = 1M iflags = skip_bytes skip = $ fll
 echo "I file si differenziano per byte di $ (($ $ $ (trova $ fn * -printf"% s - \ n "; echo" 0 "))) La prima row di $ fn è $ fll byte."

Aggiungere eventuali iflags= and oflags= potrebbe essere necessario – con virgole che li separano.