J'essayais de modifier rapidement un .hgignorefichier à partir du shell bash Cygwin aujourd'hui, et j'ai ajouté une ligne qui était une erreur. Je ne sais pas si c'était la meilleure façon de le faire, mais j'ai rapidement pensé head -1 .hgignoreà supprimer la ligne incriminée (je n'avais auparavant qu'une seule ligne dans le fichier). Effectivement, une fois exécuté, il donne la première ligne comme seule sortie.
Mais lorsque j'ai essayé de rediriger la sortie et de réécrire le fichier à l'aide head -1 .hgignore > .hgignore, le fichier était vide. Pourquoi cela arrive-t-il? Si j'essaie d'ajouter à la place, head -1 .hgignore >> .hgignorecela s'ajoute correctement, mais ce n'est évidemment pas le résultat souhaité. Pourquoi une redirection tronquée ne fonctionne-t-elle pas dans ce cas?
cutmodifier un fichier en place? , Comment puis-je faire iconv remplacer le fichier d'entrée par la sortie convertie?