I Millionen generierten SVG-Dateien von DOS auf eine Linux-Box übertragen und erkennen, dass es ein^@ als das letzte Zeichen von jeder Datei (das DOS Dateiende Zeichen) das gibt einen Fehler, wenn ich versuche, die SVG-Datei in einem Browser anzuzeigen.entfernen DOS Dateiende Zeichen aus vielen Dateien in Linux
In dieser Frage: How can I remove the last character of the last line of a file?
Maroun gibt die Lösung als:
sed '$ s/.$//' your_file
Aber wenn ich es ändern wie folgt aussehen:
sed '$ s/.$//' *.SVG
oder
find . -print | grep .SVG | sed '$ s/.$//'
Es funktioniert nicht.
Ich möchte auch angeben können, dass es nur das letzte Zeichen löschen soll, wenn es das^@ ist.
Kann mir bitte jemand sagen, was ich falsch mache oder wie diese Arbeit zu bekommen. Die SVG-Dateien befinden sich in Tausenden von Unterverzeichnissen, so dass ich die Änderung von oben nach unten in der Baumstruktur vornehmen kann.
Siehe auch: [? Wie kann ich dos2unix auf ein ganzes Verzeichnis ausgeführt] (http://stackoverflow.com/q/11929461/3776858) – Cyrus