Bunun 1 astar olarak yapılabileceğini hayal ediyorum, ancak biraz hantal görünüyordu, bu yüzden başlatma ve düzenleme kolaylığı için bir senaryo oluşturdum ve onu aradım findvids.sh
Bu benim için işe yaradı.
Not: TÜM video dosyası türlerini kapsamamış olabilirim , ancak bunların çoğuna sahip olduğuma eminim. Dikkate değer bir istisna .mkv'dir, çünkü bu projenin hedef formatıdır ve daha önce işlenmiş dosyaları bulmama gerek yoktur. İfadenin başında ve sonunda tırnak işaretlerini koruyarak deseni inceleyip buna göre ayarlayarak komut dosyasına ihtiyaçlarınıza uygun ek formatlar (uzantılar) eklemek çok basit olmalıdır. Okuma izniniz olmayan dosyaların bulunmayacağını unutmayın.
#!/bin/bash
#This script is intended to find virtually all video file formats.
find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp*$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
Düzen Yorum dayalı:$
uzatma anlamına sonunda arama terimi satırın sonunda bulunması gerektiği. çizginin başlangıcını eşleştirmek ^
istersek, eşleştirmeyi düşündüğümüz terimden önce kullanırdık . Bu çapaları daha ayrıntılı olarak burada bulabilirsiniz.
Ben locate kullanarak bir hız karşılaştırma yaptım ve sonuçları:
time locate *.mkv *.webm *.flv *.vob *.ogg *.ogv *.drc *gifv *.mng *.avi *.mov *.qt *.wmv *.yuv *.rm *.rmvb *.asf *.amv *.mp4$ *.m4v *.mp *.m?v *.svi *.3gp *.flv *.f4v
real 0m8.887s
user 0m5.814s
sys 0m0.052s
vs.
time find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp4$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
real 0m2.795s
user 0m0.657s
sys 0m1.115s
Beklenmedik bir şekilde bulmak daha hızlıdır. Bu yaklaşımı kullanacağım.
Düzenleme: ileri testler, konumun farklı bir makinede daha hızlı olduğunu gösterir. İlk hız testi sonuçlarımın önbellekleme nedeniyle ranza olduğunu düşünüyorum.
Kaynaklar:
man find
man grep
/programming/7190565/unix-find-multiple-file-types