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?


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.



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)


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.

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.