Tam olarak $NUM dosyalar içeren hemen alt dizinleri listelemek için .
find -maxdepth 2 -mindepth 2 -type f -printf '%h\0' | awk -v num="$NUM" 'BEGIN{RS="\0"} {array[$0]++} END{for (line in array) if (array[line]==num) printf "%s\n", line}'
İçeren acil alt dizinleri listelemek için büyük daha $NUMdosyaları.
find -maxdepth 2 -mindepth 2 -type f -printf '%h\0' | awk -v num="$NUM" 'BEGIN{RS="\0"} {array[$0]++} END{for (line in array) if (array[line]>num) printf "%s\n", line}'
İçeren acil alt dizinleri listelemek için az daha $NUMdosyaları.
find -maxdepth 2 -mindepth 2 -type f -printf '%h\0' | awk -v num="$NUM" 'BEGIN{RS="\0"} {array[$0]++} END{for (line in array) if (array[line]<num) printf "%s\n", line}'
Öğeler boş karakterle sonlandırılır \0, bu nedenle yeni satırlar veya diğer beyaz boşluk türlerini içeren dosya adları doğru şekilde yorumlanır. %hHer dosyanın yazdırır dirname. awkardından her diziyle kaç kez karşılaştığını saymak için bir dizi kullanır ve koşullar karşılandığında yazdırır.
Yukarıda belirtilen komutların hiçbirinin sıfır dosya içeren dizinleri göstermeyeceğini lütfen unutmayın. Ayrıca dosyasıyla ben normal dosyalar, kastediyorum dikkat değil vs. bağlantıları, dizinler, priz, bloklar, adlandırılmış borular.
Bunu olabildiğince basit yapmaya çalıştım. Özyinelemeli alt dizinleri veya içindeki dosyaları bulmak istiyorsanız, değiştirilmiş bir komut gerekir. Hepsini listelemek için çok fazla olasılık var.