Ich musste meinen Eclipse-Arbeitsbereich von Linux auf Windows verschieben, als mein Desktop abstürzte. Eine Woche später kopiere ich es zurück nach Linux, codiere glücklich und verpflichte mich zu CVS. Und leider haben Windows-Zeilenumbrüche viele Dateien verschmutzt, sodass CVS diff die gesamte Datei ausgibt, selbst wenn ich ein oder zwei Zeilen geändert habe!
Ich könnte ein Skript erstellen, aber ich frage mich, ob es meine Eclipse-Projektdateien durcheinander bringen wird.
Antworten:
Wie hier und hier erwähnt :
Tipp : Sie können vorhandene Dateien einfach konvertieren, indem Sie sie im Paket-Explorer auswählen und dann zum Menüeintrag wechseln
File : Convert Line Delimiters to : Unix
quelle
File : Convert Line Delimiters to : Unix
Befehl alle Dateien im Projekt gleichzeitig "reparieren".Ich hatte die gleichen, Eclipse verschmutzten Dateien auch mit einem Zeilenwechsel. Lösung: Eclipse-Git-Einstellungen -> Eintrag hinzufügen: Schlüssel: core.autocrlf Werte: true
quelle
Es gibt ein praktisches Bash-Dienstprogramm -
dos2unix
- einen DOS / MAC-zu-UNIX-Textdateiformatkonverter, der, falls er nicht bereits in Ihrer Distribution installiert ist, problemlos über einen Paketmanager installiert werden kann. dos2unix manpagequelle
Berücksichtigen Sie zusätzlich zu den Eclipse-Lösungen und dem in einer anderen Antwort erwähnten Tool den Flip . Es kann in beide Richtungen zwischen normalen und Windows-Zeilenumbrüchen wechseln und macht nette Dinge wie das Beibehalten des Zeitstempels der Datei und anderer Statistiken.
Sie können es so verwenden, um Ihr Problem zu lösen:
(Ich habe eine Klausel eingefügt, um Ihr .git-Verzeichnis zu ignorieren, falls Sie git verwenden. Da flip jedoch standardmäßig Binärdateien ignoriert, benötigen Sie diese möglicherweise nicht.)
quelle
find
funktioniert so nicht.Sie könnten es versuchen. Das Problem ist, dass Windows einen Wagenrücklauf sowie einen Zeilenvorschub einfügt, wenn eine neue Zeile angegeben wird. Unix-Systeme fügen einfach einen Zeilenvorschub ein. Das zusätzliche Wagenrücklaufzeichen könnte der Grund sein, warum Ihre Sonnenfinsternis die Zeilenumbrüche durcheinander bringt.
Holen Sie sich ein oder zwei Dateien aus Ihrem Projekt und konvertieren Sie sie. Sie können dazu Notepad ++ verwenden. Öffnen Sie einfach die Datei und gehen Sie zu Format-> In Unix konvertieren (wenn Sie Windows verwenden).
Versuchen Sie dies unter Linux einfach über eine Befehlszeile:
quelle
sed -i 's/$`echo \\\r`//' yourfile.java
und um es zu automatisierenfind . -name "*.java" -exec sed -i 's/$`echo \\\r`//' {} \;
\r
Führen Sie Folgendes in einer Unix-Shell aus, um die Zeilenumbrüche ( ) rekursiv aus den CVS / * -Dateien in allen untergeordneten Verzeichnissen zu entfernen :quelle