91 votes

Supprimer les n premières lignes d'un grand fichier texte

Je dois supprimer les 42 premières lignes d'un fichier SQL de 2 Go.

Je sais que je peux voir les premières lignes en utilisant :

head -n 44 dump.sql

Mais y a-t-il un moyen de les modifier ou de les supprimer ?

1voto

Jerinaw Points 271

Juste pour ajouter ceci. Si vous êtes sur un mac, vous devez ajouter l'extension de sauvegarde. Réponse de ceci poste .

sed -i '.bak' 1,42d dump.sql

0voto

kb2bcg Points 9

Désolé, je ne peux pas vous donner le code actuel pour le moment. Cependant, essayez de regarder quelque chose du genre

tail -n arcv(`wc -l`) -44

Ce que cela devrait faire (une fois correctement formaté) est de compter le nombre de lignes dans le fichier (wc -l), d'en soustraire 44 (-44) et ensuite d'imprimer tout ce qui commence à la 45ème ligne du fichier.

J'espère que cela vous aidera et bonne chance.

0voto

sourav c. Points 40637

Essayez ça,

head -n 42 dump.sql > tmp; cat dump.sql | grep -vxf tmp > dump.sql.new; rm tmp

ou,

a=$(cat dump.sql| wc -l); tail -n "$((a-42))" dump.sql > dump.sql.new

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X