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 $NUM
dosyaları.
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 $NUM
dosyaları.
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. %h
Her dosyanın yazdırır dirname
. awk
ardı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.