web-dev-qa-db-fra.com

La commande sed n'insère pas de texte dans un fichier texte

Voici mon exemple de commande test sed pour insérer un exemple de texte dans un fichier texte vide.

sed -i "$ a\My test text" Desktop/test.txt
sed -i '$ a\My test text' Desktop/test.txt

J'ai essayé avec les deux options, une avec des guillemets simples et une autre avec des guillemets doubles. Mais les deux commandes ne parviennent pas à écrire ce texte dans mon fichier test.txt. Pourquoi ces commandes ne fonctionnent-elles pas?

3
Smith Dwayne

Les commandes a et i ne fonctionnent pas sur les fichiers vides. Comme vous avez mentionné le ~/Desktop/test.txt est un fichier vide, les deux commandes que vous avez essayées ne répondent pas à votre objectif. Les mêmes commandes fonctionneront bien avec un fichier non vide.

Vous pouvez essayer echo au lieu de sed pour atteindre votre objectif.

Voir cette Q & A pour plus de détails.

5
pomsky