Komutları hangi komutla veya komutlarla birlikte kullanarak bir dizinde (alt dizinler dahil) tüm dosya uzantılarını iade edebilirim?Tüm dosya uzantıları bir dizinde yinelemeli olarak nasıl bulunur?
Şu anda ls
ve grep
farklı kombinasyonları kullanıyorum, ancak ölçeklenebilir bir çözüm bulamıyorum.
'echo 'gniourf.tar.gz': Sanmıyorum ya uzantıları olmadan dosyaları içerir awk -F. {'print $ 2'} '' tar 've' echo 'one.two.three.pdf' verir | awk -F. {'print $ 2'} '' iki 'yazdı. Yaklaşımının iyi olduğundan emin misin? –
Yukarıdaki çözümün basit bir çözüm olduğunu düşünüyorum, burada bir başka buldum. -type f -name "*. *" | awk -F. '! a [$ NF] ++ {print $ NF}'. Basit bir komutla düşünemiyorum, her türlü dosyayı alamazsın. Daha önce de söylediğin gibi, her satırı ayrıştıran bazı problemler vardır, bu yüzden bu problemin olmayacağı python, perl veya benzeri bazı betiklerin kullanılması daha doğru olacaktır. Her neyse basit bir çözüm koydum, eğer şimdi dosya uzantılarını grep ile filtreleyebilirsiniz gibi | grep 'txt \ | png \ | pdf'. Teşekkürler – ackuser