Juste par curiosité, comment ajouteriez-vous du texte à un fichier sans créer une nouvelle ligne?
Martin Hansen
11
Cela dépend de la dernière ligne ajoutée, pas de votre commande actuelle. Lorsque vous faites le fichier $ echo "foobar" >>, la nouvelle ligne est déjà là. Si vous faites un fichier $ echo -n "foobar" >>, vous n'ajouterez pas de nouvelle ligne à la fin de la ligne, vous écrirez donc dans la même ligne.
user897079
9
Cela ne fonctionne pas dans un environnement sudo qui écrit dans un fichier système. Vous ne pouvez pas sudo >>. Sinon, cela fonctionne bien.
Dennis
4
Utilisez la commande "sed" comme suit: ---------- sed -i "$ a some text" somefile.txt --------- -i: éditer les fichiers sur place, $ trouver la fin du fichier, a: append
Lunf
9
@Dennis C'est à cause de la façon dont la ligne de commande est analysée. 'sudo abc >> def' sera 'sudo abc' puis '>> def' la sortie. Pour sudo du bit 'abc >> def' entier, vous devez faire quelque chose comme ceci: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (notez que les doubles-guillemets intérieurs doivent être échappés)
vi
ouemacs
. Savez-vous comment les utiliser? Je n'essaye pas d'être sarcastique.Réponses:
Le moyen le plus simple de rediriger la sortie de l'écho par >>
la source