web-dev-qa-db-fra.com

Remplacez la première ligne d'un fichier texte par une chaîne

Je suis novice dans les scripts Shell et je ne sais pas comment utiliser sed ou tout autre outil pour remplacer la première ligne de mon fichier texte par une chaîne. Voici le contenu du fichier texte:

/home/snehil/Desktop/j1/movie.MOV 
 "spome autres lignes de texte" 

Je veux remplacer la première ligne (chemin du fichier vidéo) par juste movie.MOV (pourrait être une variable dans le script Shell)

Veuillez me guider comment procéder. J'ai rencontré sed dans certains messages, dois-je utiliser sed ici?

53
Rookie

sed est le bon outil, essayez de faire:

var="movie.MOV"
sed -i "1s/.*/$var/" file.txt

explications

  • 1 signifie la première ligne
  • le reste est la substitution s///: on remplace tout (. *) par le $var variable
107
Gilles Quenot