442 Stimmen

Wie kann ich dos2unix auf ein ganzes Verzeichnis anwenden?

Ich muss ein ganzes Verzeichnis konvertieren mit dos2unix . Ich kann nicht herausfinden, wie man das macht.

7voto

Brett Punkte 103

Für alle Solaris-Benutzer (ich benutze 5.10, kann auch für neuere Versionen und andere Unix-Systeme gelten):

dos2unix überschreibt die Datei nicht standardmäßig, sondern gibt nur die aktualisierte Version auf stdout aus, so dass Sie die Quelle und das Ziel angeben müssen, d.h. zweimal den gleichen Namen:

find . -type f -exec dos2unix {} {} \;

7voto

Ben Winding Punkte 7207

Ich habe dies wie eine Million Mal gegoogelt, so dass meine Lösung ist, einfach diese Bash-Funktion in Ihrer Umgebung zu setzen.

.bashrc o .profile oder was auch immer

dos2unixd() {
  find $1 -type f -print0 | xargs -0 dos2unix
}

Verwendung

$ dos2unixd ./somepath

Auf diese Weise haben Sie immer noch den ursprünglichen Befehl dos2unix und es ist leicht, sich an diese zu erinnern dos2unixd .

6voto

Sahand Punkte 7640

Ich denke, das ist der einfachste Weg:

dos2unix $(find . -type f)

4voto

Strabek Punkte 2061

Ich hatte das gleiche Problem, und dank der Beiträge hier habe ich es gelöst. Ich wusste, dass ich etwa hundert Dateien habe und ich musste es nur für *.js-Dateien ausführen. find . -type f -name '*.js' -print0 | xargs -0 dos2unix

Ich danke Ihnen allen für Ihre Hilfe.

2voto

rafapedroche Punkte 77
for FILE in /var/www/html/files/*
do
 /usr/bin/dos2unix FILE
done

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X