Supprimer la première ligne en bash

Avez-vous une méthode pour supprimer rapidement la première ligne d'un fichier dans bash shell? Je veux dire utiliser de l'énergie ou des choses comme ça.

One-liners dans l'ordre inverse de la longueur, portable sauf indication contraire.

sed (besoin de GNU sed pour -i ):

 sed -i 1d file 

ed (nécessite par exemple bash pour $'...' expansion et chaîne ici):

 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 built-in:

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

En utilisant dd

 Fn = "The-BIG-FILE.txt"
 Fll = $ (($ (head -n 1 $ fn | wc -c) + 1))
 Dd si = "$ fn" de = "$ {fn} .out" bs = 1M iflags = skip_bytes skip = $ fll
 Echo "Les fichiers diffèrent par $ (($ (trouver $ fn * -printf"% s - \ n "; echo" 0 "))) bytes. La première ligne de $ fn est $ spl bytes."

Ajoutez des iflags= et oflags= vous pourriez avoir besoin – avec des virgules qui les séparent.