GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie füge ich am Ende einer Datei einen Zeilenumbruch hinzu?

Wenn ich Versionskontrollsysteme verwende, ärgere ich mich über das Geräusch, wenn das Diff No newline at end of file sagt .

Also habe ich mich gefragt:Wie füge ich am Ende einer Datei einen Zeilenumbruch hinzu, um diese Nachrichten loszuwerden?

Akzeptierte Antwort:

Um ein Projekt rekursiv zu bereinigen, verwende ich diesen Einzeiler:

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

Erklärung:

  • git ls-files -z listet Dateien im Repository auf. Es nimmt ein optionales Muster als zusätzlichen Parameter, was in einigen Fällen nützlich sein kann, wenn Sie die Operation auf bestimmte Dateien/Verzeichnisse beschränken möchten. Alternativ können Sie find -print0 ... verwenden oder ähnliche Programme, um betroffene Dateien aufzulisten – stellen Sie nur sicher, dass es NUL ausgibt -getrennte Einträge.

  • while IFS= read -rd '' f; do ... done iteriert durch die Einträge und behandelt sicher Dateinamen, die Leerzeichen und/oder Zeilenumbrüche enthalten.

  • tail -c1 < "$f" liest das letzte Zeichen aus einer Datei.

  • read -r _ beendet sich mit einem Nicht-Null-Beendigungsstatus, wenn ein abschließender Zeilenumbruch fehlt.

  • || echo >> "$f" fügt eine neue Zeile an die Datei an, wenn der Exit-Status des vorherigen Befehls nicht Null war.


Linux
  1. CentOS / RHEL:So fügen Sie eine Auslagerungsdatei hinzu

  2. Wie kann ich einen Zeilenumbruch löschen, wenn es das letzte Zeichen in einer Datei ist?

  3. Wie hängt man die Ausgabe an eine Datei an?

  4. Wie kann ich am Anfang jeder Datei in einem Ordner in Bash eine Zeichenfolge hinzufügen?

  5. Bash:Zeichenfolge ohne Zeilenumbruch am Ende der Datei hinzufügen

So verwenden Sie den md5sum-Befehl unter Linux

So verwenden Sie den Touch-Befehl unter Linux

So fügen Sie eine Auslagerungsdatei unter Ubuntu hinzu

So fügen Sie Text am Anfang einer Datei in Linux hinzu

So fügen Sie eine Anwendung zum Dock in einem elementaren Betriebssystem hinzu

So fügen Sie eine Auslagerungsdatei unter Ubuntu 20.04 hinzu