2009-08-25 5 views

Répondre

96

La commande head peut obtenir les premières lignes n. Les variations sont les suivantes:

head -7 file 
head -n 7 file 
head -7l file 

qui obtenir les 7 premières lignes du fichier appelé "file". La commande à utiliser dépend de votre version de head. Linux travaillera avec le premier.

Pour ajouter des lignes à la fin du même fichier, utilisez:

echo 'first line to add' >>file 
echo 'second line to add' >>file 
echo 'third line to add' >>file 

ou:

echo 'first line to add 
second line to add 
third line to add' >>file 

le faire en un seul coup.

Alors, attacher ces deux idées, si vous voulez obtenir les 10 premières lignes du fichier input.txt à output.txt et ajouter une ligne avec cinq "=" caractères, vous pouvez utiliser quelque chose comme:

(head -10 input.txt ; echo '=====') > output.txt 

En Dans ce cas, nous effectuons les deux opérations dans un sous-shell afin de consolider les flux de sortie en un seul, qui est ensuite utilisé pour créer ou écraser le fichier de sortie.

3

Premières lignes: man head.

lignes Rajouter: Pour utiliser l'opérateur >> dans Bash (?):

echo 'This goes at the end of the file' >> file 
15

Je suppose que ce que vous essayez d'accomplir est d'insérer une ligne après les premières lignes d'un fichier texte.

head -n10 file.txt >> newfile.txt 
echo "your line >> newfile.txt 
tail -n +10 file.txt >> newfile.txt 

Si vous ne voulez pas mettre d'autres lignes dans le fichier, ignorez simplement la partie queue.

+3

Les sous-cases vous permettent de le faire sans rouvrir le fichier de sortie:' (head -n10 file.txt; echo "Quelques trucs"; tail -n +10 fichier.txt)> newfile.txt' – hobbs

Questions connexes