Linux menemukan folder di dalam subfolder

19

Saya mencoba menemukan direktori bernama 480debugerrorbersarang di bawah direktori anak. Saya tidak tahu jalur yang tepat, atau bahkan jika saya memiliki ejaan yang tepat dari direktori yang ingin saya temukan.

Apakah ada perintah Linux untuk menemukan direktori dengan awalan atau akhiran yang diberikan, misalnya direktori dengan nama "debug" atau "kesalahan debug", dengan beberapa awalan atau akhiran yang tidak diketahui?

Bharanikumar
sumber
2
Anda dapat mencoba locate(mencari file) atau find(menemukan file).
miku
temukan -type f -name * ummy ... tapi tidak mengerti
3
Anda perlu -type d . fmencari file
thkala

Jawaban:

16

find adalah yang Anda butuhkan:

$ find -type d -name '*debugerror*'

atau

$ find -type d -name '480debugerror'

jika Anda yakin tentang nama folder.

thkala
sumber
8
find . -type d \( -iname '*error*' -o -iname '*debug*' \) 
Zsolt Botykai
sumber
1
locate -i "480debugerror"

akan memeriksa database yang mencantumkan semua file yang diindeks di PC Anda. Saya sering memiliki skenario seperti ini dan saya melakukan pencarian seperti:

locate -i "debug" | grep -i "log"

yang menemukan semua file yang ada di jalurnya (terlepas dari kasus [itulah -i artinya]) "debug" dan "log" (Jika Anda tidak tahu, | grepberarti mencari di dalam hasil yang menemukan lokasi menghasilkan)

Keuntungan menggunakan find over find adalah loc akan menghasilkan output lebih cepat (karena hanya memeriksa database) tetapi jika file / folder tidak diindeks maka ia tidak akan menemukan apa pun. (untuk memperbarui database yang dapat Anda gunakan sudo updatedb)

jcuenod
sumber
Hanya jika Anda telah slocatemenginstal. Beberapa lingkungan produksi tidak :-(
Zsolt Botykai
Benar tetapi jika suatu opsi saya akan mengatakan itu lebih unggul untuk menemukan ...
1

Di bash,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

mencari direktori secara rekursif dengan nama yang mengandung 480, debug atau kesalahan.

pengguna2394284
sumber