Je dois supprimer les 42 premières lignes d'un dump SQL de 2 Go.
Je sais que je peux voir les premières lignes en utilisant:
head -n 44 dump.sql
Mais est-il possible de les modifier ou de les supprimer?
command-line
Kohjah Breese
la source
la source
tail
. J'ai souvent trouvé quelque chose de nouveau à apprendre de vos réponses. Merci.sed -i 1,50000000d 17GigFile
crée un fichier temporairesedXYZ
qui consomme beaucoup plus de giga-octets. Existe-t-il une approche sans fichiers temporaires?tail -n +43
ethead -n 44
comme mentionné dans la question?Cela semble être le plus facile:
Supprimez les lignes 1 à 42 de test.sql et enregistrez sous test2.sql
la source
essaye ça,
tail -n +43 dump.sql > dump_new.sql
la source
Vous pouvez utiliser Vim en mode Ex:
1
passer à la première ligne42
sélectionnez 42 lignesd
effacerx
sauver et fermerla source
Désolé, je ne peux pas vous donner le code actuel pour le moment. Cependant, essayez de regarder quelque chose du genre
Ce que cela devrait faire (une fois correctement formaté) est de compter le nombre de lignes dans le fichier (wc -l), d’en retirer 44 (-44), puis d’imprimer le tout à partir de la 45e ligne du fichier.
J'espère que ça t'aide et bonne chance.
la source
wc -l
le fichier, vous traitez deux fois, alorssed
ou letail
traiter qu'une seule fois.Essaye ça,
ou,
la source
Juste pour ajouter ceci. Si vous êtes sur un Mac, vous devez ajouter l'extension de sauvegarde. Réponse de ce post .
la source
En raison des
sed
divergences entre Linux et Mac, j'ai résolu d'utiliser letail -n +43 dump.sql > dump.sql
format.la source