Сценарий для показа количества файлов (типом файла) в каталоге?

Я знаю, что это не точный ответ на Ваш вопрос, но библиотека проклятий является материалом, необходимо сделать некоторый tui dev. Если Вы будете программистом, то смотрение на его источник (доступный во всех дистрибутивах Unix с открытым исходным кодом) покажет Вам, как оно сделано.

1
17.02.2012, 09:59
3 ответа

Это может быть, покончили gawk: передайте свой список по каналу имен файлов через следующее (оставленный как exercise/I, протестированный с ls -1, но не анализируйте ls(TM)):

gawk -F. '1 {exts[$NF]++} END {for (ext in exts){printf "%s: %s files\n", ext, exts[ext]}}'

Это предполагает, что все, что сопровождается периодом, не является частью расширения, таким образом, имена файлов без количества периода как все-расширение. (Я думаю, что должно быть достаточно измениться 1 { кому: (NF>1) { только получить файлы с надлежащими расширениями.

1
27.01.2020, 23:40
  • 1
    Это работает! Вот полная команда: find . -name "*.*" | gawk -F. '(NF>1) {exts[$NF]++} END {for (ext in exts){printf "%s: %s files\n", ext, exts[ext]}}' –  Nicolas Raoul 17.02.2012, 09:26

Следующий конвейер печатает каждую отличную строку во входе, которому предшествует его повторный счет, отсортированный путем уменьшения повторного счета:

sort | uniq -c | sort -rn

Таким образом:

find . -type f -name '?*.*' | sed 's/.*\.//' | sort | uniq -c | sort -rn
1
27.01.2020, 23:40
ls -1 | awk -F. '{if(NF>1)arr[$NF]++;else blnk++}END{for(i in arr)printf(".%s %s file(s)\n",i,arr[i]);printf("<No Extension> %s file(s)\n",blnk)}'
0
27.01.2020, 23:40
  • 1
    ls обычно не хорошая идея (т.е. это - плохая идея). например, это печатает строку, в которой возвращается расширение цели ссылки. Так awk отфильтруйте отчеты о неправильном расширении.. Это также возьмет имена каталогов, которые имеют точку на их имена.. Кроме упомянутых и других сложностей, вызванных ls, Мне нравится awk логика.. (и кажется, что он хочет вывод, отсортированный по количеству случаев), –  Peter.O 17.02.2012, 12:34

Теги

Похожие вопросы