58 votes

Comment supprimer les deux premières lignes 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 ?

81voto

Frédéric Hamidi Points 123646

Vous pouvez combiner queue y tête :

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

17voto

Debaditya Points 1190

Tête et queue

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

Solution Sed

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

10voto

finferflu Points 96

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

sed -i 1,2d filename

3voto

pizza Points 2855

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X