Hapus direktori yang cocok di semua subdirektori


0

Bagaimana saya bisa menghapus semua run-*.achilles direktori di semua subdirektori saya di Linux?

Saya mencoba find /path -name run-*.achilles -type f -delete tetapi tidak berhasil.

Jawaban:


2

Beberapa masalah di sini:

  1. Anda harus mengutip * untuk mencegah globbing shell.
  2. -type f memberitahu find Anda ingin file.
  3. find -delete tidak akan menghapus direktori yang tidak kosong. Lihat pertanyaan ini . Solusi yang disesuaikan dari salah satu jawaban di sana:

    find /path -path '*/run-*.achilles/*' -delete
    find /path -type d -name 'run-*.achilles' -empty -delete
    

Itu tidak sempurna, baris pertama akan cocok .../run-a/b.achilles/.... Kupikir. Perintah ini harus lebih cocok:

find /path -type d -name 'run-*.achilles' -exec rm -rf {} +

Itu menggunakan rm -rf, jadi berhati-hatilah dengan itu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.