W porządku, taki prosty problem. Pracuję nad prostym kodem zapasowym. Działa dobrze, chyba że pliki zawierają spacje. Oto jak znajduję pliki i dodam je do archiwum tar:
find . -type f | xargs tar -czvf backup.tar.gz
Problem występuje, gdy plik ma spację w nazwie, ponieważ tar myśli, że jest to folder. Zasadniczo czy istnieje sposób, w jaki mogę dodawać cudzysłowy wokół wyników wyszukiwania? Albo inny sposób, aby to naprawić?
find ... | xargs ...
jest użycie -print0 / -0 parametru na każdy:find -print0 ... | xargs -0 ...
. Spowoduje to, że nazwy plików zostaną oddzielone znakiem null, co oznacza, że możesz mieć spacje, znaki nowej linii lub inne dziwne rzeczy w nazwach plików i nadal będzie działać.