Belirli bir klasörde bulunan dizinlerin listesini almaya çalışıyorum.
Bu örnek klasörler göz önüne alındığında:
foo/bar/test
foo/bar/test/css
foo/bar/wp-content/plugins/XYZ
foo/bar/wp-content/plugins/XYZ/js
foo/bar/wp-content/plugins/XYZ/css
baz/wp-content/plugins/ABC
baz/wp-content/plugins/ABC/inc
baz/wp-content/plugins/ABC/inc/lib
baz/wp-content/plugins/DEF
bat/bar/foo/blog/wp-content/plugins/GHI
Geri dönecek bir komut istiyorum:
XYZ
ABC
DEF
GHI
Aslında, wp-content / plugins / içindeki klasörleri arıyorum
Kullanmak find
beni en yakına getirdi, ancak kullanamıyorum -maxdepth
, çünkü klasör aradığım yerden değişken bir şekilde uzakta.
Aşağıdakileri çalıştırmak tüm alt dizinleri yinelemeli olarak döndürür.
find -type d -path *wp-content/plugins/*
foo/bar/wp-content/plugins/XYZ
foo/bar/wp-content/plugins/XYZ/js
foo/bar/wp-content/plugins/XYZ/css
baz/wp-content/plugins/ABC
baz/wp-content/plugins/ABC/inc
baz/wp-content/plugins/ABC/inc/lib
baz/wp-content/plugins/DEF
bat/bar/foo/blog/wp-content/plugins/GHI
?
. Bash için (soruda etiketlendiği gibi) bu işe yarar .