Chcę usunąć wszystkie wersjonowane pliki z mojego repozytorium, ale ZACHOWAJ strukturę wersjonowanego katalogu. Oczywiście chcę pozostawić wszystkie katalogi .svn nietknięte.
Innymi słowy, chcę całkowicie opróżnić strukturę katalogów kopii roboczej BEZ uszkodzenia samej struktury katalogów.
Na przykład usunięcie plików z tej struktury:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Powinien skutkować:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Szukam jakiegoś find
polecenia lub czegoś, aby to osiągnąć i mam problem z budowaniem polecenia. Dzięki za pomoc!
Odpowiedzi:
powinien pasować do rachunku (głównie pochodzi ze strony wyszukiwania dla
-path
). Zrób to mniej i sprawdź. Najpierw znajduje (ścieżka kończy się na .svn i nie powraca do (przycinania) tego katalogu) lub (jeśli jest to plik, wydrukuj go).Jeśli wygląda dobrze, zmień na
Wersja + łączy wszystkie pliki w jedno polecenie rm. Jeśli jesteś paranoikiem, najpierw wykonaj kopię zapasową drzewa (
cp -a dir/ otherdir/
).źródło
-delete
głębokość jest pierwsza i dlatego jest w konflikcie,-prune
ponieważ pliki w folderze zostaną sprawdzone przed zbadaniem samego folderu. Inne rozwiązanie (-not -path ...
zamiast opcji-path ... -prune
można użyć opcji -delete.Powinien zrobić lewę.
źródło
-exec /bin/rm '{}'
ciebie możesz użyć-delete
.