Yanıtlar:
Veya...
find $directory_name -name \*.sql
Örneğin
find / -name \*.sql
Veya
find ~ \*.sql
(burada ~ / home / kullanıcı adınız / ifadesine eşittir) veya ...
find /usr/local/share/ \*.sql
ve benzerleri.
Bunu komut satırında çalıştırın:
cd / && find | grep '\.sql$'
'/' Öğesini aramak istediğiniz dizine değiştirin.
findKomut (ekstra seçenekler kullanılarak) grep olmadan görevi başarmak mümkün, ama yukarıdaki kullanım daha uygun buluyorum.
Sırayla, yukarıdaki komut:
cd /)find)| grep '\.sql$') ile biten herhangi bir şey için filtrelerfindzaten filtre özelliklerine sahip
Bu eski bir yazı olduğunu biliyorum, ama ben bu konuda oldukça yeniyim ve bir dizinde ve alt alt dizinlerinde belirli bir uzantı tüm dosyaları bulmak için kolay bir yol bulduk. İlk önce parent Directoryo zaman gidin find . -name '*.sql've bu size dizinlerde ve alt dizinlerinde .sql uzantılı tüm dosyaları bulacaksınız .
Benim durumumda , dizin ve alt dizinlerindeki tüm .xml dosyalarını silmek istedim , bu yüzden daha fazlasını yaptım, burada olduğu gibi kaldırmayı ekledimfind . -name '*.xml' | xargs rm
Umarım bu yardım eder :)
find-deletekomutu anlar . Katılmaya gerek yok rm. Veya -execkomutu bir borudan dolambaçsız olarak doğrudan çağırmak için kullanabilirsiniz xargs.
locate -br \\.sql$ | egrep '^/folder/path/'
Yüklü değilse, daha önce şununla yükleyin:
sudo apt install mlocate
mlocate.dbUbuntu'da (blieve) kullanıma hazır olmayan güncel bir örnek gerektirir . Ayrıca, neden basit değil locate '/folder/path/*.sql'?
locatekullanılan egrep
locate/folder/path/*.sqlnormal ifadelerle değil, glob ifadelerle eşleşir .
man locateben -r, --regexp REGEXP - Search for a basic regexp REGEXPbu yüzden bir regex olduğunu varsayalım. Her neyse, "küresel ifadenizi" denedim ama işe yaramıyor, üzgünüm
--regexBelirtilmezse, PATTERNs globbing karakterler içerebilir.” ( Kaynak )