Saya ingin menghapus setiap file, tetapi menjaga struktur folder. Apakah ada cara?
CATATAN: (Saya menggunakan GNU bash 4.1.5).
bash
bash-script
Tom Brito
sumber
sumber
Jawaban:
Coba ini:
Ini akan menghapus setiap file, tidak termasuk direktori, di bawah direktori kerja saat ini. Berhati-hatilah dengan perintah ini.
Jika versi
find
pada mesin Anda mendukungnya, Anda juga dapat menggunakannyasumber
find
perintah tidak pernah melihat tanda kutip. Itu hanya melihat{}
penanda sebagai argumen.-exec command {} +
" & ini "-exec command ;
". Saya telah menggunakan\;
di masa lalu tidak pernah '{}'.find
. Saya pikir template dimaksudkan untuk menunjukkan argumen mana yangfind
dibutuhkan perintah dan jangan khawatir tentang apa pun yang berhubungan dengan shell.Anda dapat menggunakan perintah
find
untuk menemukan setiap file tetapi mempertahankan struktur direktori:Per T&J Unix & Linux ini berjudul: gnu temukan dan sembunyikan {} untuk beberapa shell - yang mana? , melarikan diri
{}
dengan kutu tunggal ('
) tampaknya tidak diperlukan lagi dengan cangkang modern seperti Bash.sumber
Cara mudah untuk menghapus setiap file biasa di direktori dan subdirektori saat ini secara rekursif:
Hanya zsh yang memiliki globbing kualifikasi untuk mencocokkan file berdasarkan jenis. Namun,
rm
perintah tersebut tidak berfungsi pada direktori, jadi dalam bash, Anda dapat menggunakannyaIni tidak bekerja untuk perintah selain
rm
. Secara umum, Anda dapat menggunakanfind
:atau jika Anda
find
tidak mendukung-delete
:sumber
Saya memiliki persyaratan yang sama untuk menghapus file dari path dan sub direktori (memfilter berdasarkan waktu) tanpa menghapus struktur direktori.
Dan saya telah menggunakan format di bawah ini yang berfungsi untuk saya.
find / test123 / home / test_file_hip / data / nfs -mtime +6 -type f -exec rm {} \;
Syntex: find (path file) -mtime (lebih dari atau kurang dari hari) -type f -exec rm {} \;
-type: Sebutkan jenis file "f" untuk direktori "d" -exec: jalankan perintah rm: hapus {}: output dari perintah find
Catatan: Lakukan tes sebelum menggunakannya. Silakan perbaiki atau perbarui jika saya melewatkan sesuatu.
sumber
find ... rm
struktur dasarnya telah dicakup, saya tidak yakin ini merupakan kontribusi yang berharga sebagai Jawaban baru untuk pertanyaan ini.