GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter une nouvelle ligne à la fin d'un fichier ?

En utilisant les systèmes de contrôle de version, je suis ennuyé par le bruit lorsque le diff indique No newline at end of file .

Alors je me demandais :comment ajouter une nouvelle ligne à la fin d'un fichier pour se débarrasser de ces messages ?

Réponse acceptée :

Pour nettoyer récursivement un projet, j'utilise ce oneliner :

git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done

Explication :

  • git ls-files -z répertorie les fichiers dans le référentiel. Il prend un modèle facultatif comme paramètre supplémentaire qui peut être utile dans certains cas si vous souhaitez limiter l'opération à certains fichiers/répertoires. Comme alternative, vous pouvez utiliser find -print0 ... ou des programmes similaires pour répertorier les fichiers concernés - assurez-vous simplement qu'il émet NUL -entrées délimitées.

  • while IFS= read -rd '' f; do ... done parcourt les entrées, en gérant en toute sécurité les noms de fichiers qui incluent des espaces et/ou des retours à la ligne.

  • tail -c1 < "$f" lit le dernier caractère d'un fichier.

  • read -r _ se termine avec un statut de sortie différent de zéro s'il manque une nouvelle ligne à la fin.

  • || echo >> "$f" ajoute une nouvelle ligne au fichier si l'état de sortie de la commande précédente était différent de zéro.


Linux
  1. CentOS / RHEL :Comment ajouter un fichier d'échange

  2. Comment puis-je supprimer une nouvelle ligne si c'est le dernier caractère d'un fichier ?

  3. Comment puis-je ajouter une chaîne au début de chaque fichier dans un dossier en bash ?

  4. Linux - vérifier s'il y a une ligne vide à la fin d'un fichier

  5. Comment puis-je ajouter un utilisateur régulier au fichier sudoers ?

Comment utiliser la commande md5sum sous Linux

Comment utiliser la commande touch sous Linux

Comment ajouter un fichier d'échange sur Ubuntu

Comment ajouter du texte au début du fichier sous Linux

Comment ajouter une application au Dock dans un système d'exploitation élémentaire

Comment ajouter un fichier d'échange sur Ubuntu 20.04