Okay, so einfaches Problem hier. Ich arbeite an einem einfachen Sicherungscode. Es funktioniert einwandfrei, außer wenn die Dateien Leerzeichen enthalten. So finde ich Dateien und füge sie einem Teerarchiv hinzu:
find . -type f | xargs tar -czvf backup.tar.gz
Das Problem ist, wenn die Datei ein Leerzeichen im Namen enthält, weil tar denkt, dass es sich um einen Ordner handelt. Grundsätzlich gibt es eine Möglichkeit, Anführungszeichen um die Ergebnisse von find hinzuzufügen? Oder eine andere Möglichkeit, dies zu beheben?
find ... | xargs ...
ist die Verwendung des Parameters -print0 / -0 für jedes :find -print0 ... | xargs -0 ...
. Dies führt dazu, dass die Dateinamen durch ein Nullzeichen getrennt werden. Dies bedeutet, dass Ihre Dateinamen Leerzeichen oder Zeilenumbrüche oder andere seltsame Elemente enthalten können und dies weiterhin funktioniert.