Gibt es eine Möglichkeit, den dos2unix
Befehl so anzuwenden , dass er für alle Dateien in einem Ordner und seinen Unterordnern ausgeführt wird?
man dos2unix
zeigt keine -r
oder ähnliche Optionen, die dies einfach machen würden?
command-line
files
Alex Kinman
quelle
quelle
dos2unix
überspringt standardmäßig Binärdateien.Das Überspringen von Binärdateien und versteckten Dateien war für mich wichtig:
Dieser hat gut für mich funktioniert:
Was bedeutet: Finden Sie alle nicht versteckten Dateien rekursiv im aktuellen Verzeichnis, verwenden Sie dann grep, listen Sie alle nicht-binären (-I) nicht leeren Dateien auf und leiten Sie sie einzeln in xargs (durch Zeilenumbrüche getrennt) weiter dos2unix und behalten Sie den ursprünglichen Zeitstempel.
Siehe auch:
https://github.com/mdolidon/endlines
quelle
Mit find können Sie alle Dateien in einer Verzeichnisstruktur finden, die Sie mit Ihrem Befehl dos2unix ausführen möchten
Werfen Sie einen Blick auf die Manpages, um zu finden. Es gibt viele Optionen, mit denen Sie angeben können, was ausgewertet wird
quelle
Verwenden Sie einen Platzhalter. So: (Wenn Sie im Ordner sind)
oder wenn Sie sich außerhalb des Ordners befinden, gehen Sie wie folgt vor:
quelle
Verwenden von
bash
:Die
globstar
Shell-Option inbash
ermöglicht die Verwendung des**
Globs. Dies funktioniert genauso*
, stimmt jedoch mit/
Pfadnamen überein (daher auch mit Namen in Unterverzeichnissen). Dies würde in einem Verzeichnis funktionieren, das eine moderate Anzahl von Dateien in seinen Unterverzeichnissen enthält (nicht viele Tausend).In den
zsh
undyash
Muscheln (mitset -o extended-glob
inyash
) würden Sie tunquelle