Ketika jawaban lain menunjukkan, Anda dapat mencoba menemukan semua direktori dengan nama test
dan menghapusnya
find -name "test" -type d -delete
Saya mengalami beberapa masalah dengan kompatibilitas silang pada Mac, jadi saya menggunakan perintah yang setara ini:
find -path "*/test" -type d -delete
- -jalan : mencari pola dalam nama file yang memenuhi syarat.
Namun dalam kedua kasus, jika ada direktori yang bernama test
memiliki file di dalamnya,find
akan mengeluh bahwa Directory is not empty
, dan akan gagal menghapus direktori.
Jika Anda bermaksud menghapus semua file termasuktest
direktori, maka kita dapat menggunakan trik yang sama untuk menghapus semua file di dalam direktori yang bernama test
terlebih dahulu.
find -path "*/test/*" -delete
Pola:, "*/test/*"
akan memastikan kami hanya menghapus file di dalam direktori yang bernama /test/
. Setelah direktori kosong, kita dapat melanjutkan dan menghapus direktori menggunakan perintah pertama:
find -path "*/test" -type d -delete
Contoh:
$ tree
.
├── mytest
│ └── test
│ └── blah.txt
├── test
│ ├── bar.jpg
│ └── dir
│ └── bar.bak
└── testdir
└── baz.c
5 directories, 4 files
$ find -path "*/test" -type d -delete
$ tree
.
├── mytest
│ └── test
├── test
└── testdir
└── baz.c
4 directories, 1 file
$ find -name "test" -type d -delete
$ tree
.
├── mytest
└── testdir
└── baz.c
2 directories, 1 file
+
ditemukan. Saya tidak tahu, pasti berharap saya sudah tahu itu sejak lama.