Ketika jawaban lain menunjukkan, Anda dapat mencoba menemukan semua direktori dengan nama testdan 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 testterlebih 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.