web-dev-qa-db-fra.com

Comment supprimer les deux premières et les quatre dernières lignes d'un fichier texte avec bash?

J'essaie de supprimer les deux premières lignes et les quatre dernières lignes de mes fichiers texte. Comment puis-je faire cela avec Bash?

57
rebca

Vous pouvez combiner tail et head :

$ tail -n +3 file.txt | head -n -4 > file.txt.new && mv file.txt.new file.txt
79

tête et queue

cat input.txt | tail -n +3 | head -n -4

Solution séd

cat input.txt | sed '1,2d' | sed -n -e :a -e '1,4!{P;N;D;};N;ba'
17
Debaditya

C'est le moyen le plus rapide que j'ai trouvé:

sed -i 1,2d filename
10
finferflu

Vous pouvez appeler l'éditeur ex à partir de la ligne de commande bash à l'aide de l'exemple suivant. Notez qu'il utilise un ici document pour terminer la liste des commandes à ex.

ex text.file << EOF
1,2d
$
-3,.d
x
EOF
3
pizza