GNU/Linux >> Tutoriels Linux >  >> Linux

comment copier les lignes 10 à 15 d'un fichier dans un autre fichier, sous unix ?

En complément de la réponse précédente, vous pouvez utiliser l'une des 3 solutions suivantes.

sed

Imprimez uniquement les lignes de la plage et redirigez-les vers le fichier de sortie

sed -n '10,15p' file1.txt > file2.txt

combinaison tête/queue

Utilisez tête et queue pour couper le fichier et obtenir uniquement la plage dont vous avez besoin avant de rediriger la sortie vers un fichier

head -n 15 file1.txt | tail -n 6 > file2.txt

mal à l'aise

Imprimez uniquement les lignes de la plage et redirigez-les vers le fichier de sortie

awk 'NR>=10 && NR<=15' file1.txt > file2.txt

Ouvrez un terminal avec un shell puis

sed -n '10,15p' file1.txt > file2.txt

Simple et facile.

Si vous souhaitez ajouter à la fin au lieu d'effacer file2.txt , utilisez >> pour la redirection.

sed -n '10,15p' file1.txt >> file2.txt
                          ^^

AWK est également un puissant manipulateur de texte en ligne de commande :

awk 'NR>=10 && NR<=15' file1.txt > file2.txt

Linux
  1. Comment écrire un fichier dans un autre ?

  2. Comment ajouter plusieurs lignes à un fichier ?

  3. Comment compter les lignes d'un fichier sous UNIX/Linux

  4. Comment trouver les fins de ligne dans un fichier texte ?

  5. Comment supprimer les lignes qui apparaissent sur le fichier B d'un autre fichier A ?

Comment diviser un gros fichier en parties à des numéros de ligne donnés

Comment joindre plusieurs lignes en une seule dans un fichier sous Linux

Comment convertir un fichier Windows en un fichier UNIX

Comment copier un fichier d'un autre répertoire vers celui en cours ?

Comment faire écho dans le fichier

Comment tronquer un fichier par lignes ?