Saya ingin menghapus semua file berversi dari repositori saya, tetapi TETAPKAN struktur direktori berversi. Jelas saya ingin membiarkan semua direktori .svn tidak tersentuh.
Dengan kata lain, saya ingin benar-benar mengosongkan struktur direktori copy pekerjaan TANPA merusak struktur direktori itu sendiri.
Misalnya, menghapus file dari struktur ini:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Harus menghasilkan:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Saya sedang mencari semacam find
perintah atau sesuatu untuk mencapai ini, dan saya mengalami kesulitan membangun perintah. Terima kasih untuk bantuannya!
Jawaban:
harus sesuai dengan tagihan (sebagian besar berasal dari manual find for
-path
). Pipa kurang dan periksa. Apa yang dilakukannya adalah menemukan pertama (path berakhir dengan .svn dan jangan muncul kembali ke dalam (prune) direktori ini) atau (jika itu file, cetaklah).Jika terlihat bagus, ubah ke
Versi + menempelkan semua file menjadi satu perintah rm. Jika Anda paranoid, simpan cadangan pohon (
cp -a dir/ otherdir/
) terlebih dahulu.sumber
-delete
adalah kedalaman-pertama dan karenanya bertentangan dengan-prune
karena file di dalam folder akan diperiksa sebelum folder itu sendiri diperiksa. Solusi lain (menggunakan-not -path ...
daripada-path ... -prune
bisa menggunakan opsi -delete.Seharusnya melakukan trik.
sumber
-exec /bin/rm '{}'
Anda tidak bisa menggunakannya-delete
.