Подсчет файлов, каталогов и т. Д. В заданном каталоге и форматирование вывода на экран

Проблема решена следуя инструкциям из здесь

В основном кажется, что мне нужно установить вот это

https://launchpad.net/~peppermintos/+archive/ubuntu/p7-dev/+files/xfce4-settings_4.12.0-2ubuntu1+peppermint1_amd64.deb

Поскольку парень на форуме утверждает, что более новые версии не будут работать. После этого я смог добавить арабский

Нажмите кнопку "Добавить" (+) ... выделите пункт "Раскладки клавиатуры" и нажмите кнопку "Добавить". (Вы увидите, что возле ваших часов появится флажок) нажмите кнопку кнопку "Закрыть".

И мне пришлось перезагрузить компьютер. Возможно, выход из системы/вход в систему сработал бы, но я сделал перезагрузку.

1
31.08.2018, 00:52
2 ответа

-printf "%'d"здесь ничего не делает, поэтому счетчики получаются равными 0, вместо этого вам нужно изменить его с помощью -printf "%p\n".

1
27.01.2020, 23:33

Вам необходимо изменить свои команды на следующую форму:

directories=$(printf "%'d\n" $(find "$1" -type f | wc -l))

printfиспользует разделитель тысяч для вашей текущей локали, который может быть запятой, точкой или вообще ничего. Вы можете изменить язык, если хотите использовать запятые.

Также можно сделать так:

if [ -d "$1" ]; then
    directories=$(find "$1" -type d | wc -l)
    files=$(find "$1" -type f | wc -l)
    sym=$(find "$1" -type l | wc -l)

и заменить echoна printf

#Printing the output to the terminal

  printf "%s %'d\n" "Directories" $directories
  printf "%s %'d\n" "Files" $files
  printf "%s %'d\n" "Sym links" $sym

Произошла ошибка, потому что вы перепутали две разные команды - bash'овскую printfи find -printf.

Для находки -printfформат "%'d"неверен. Исключительные кавычки не допускаются, а %d— это глубина файла в дереве каталогов. Вы можете найти все параметры -printfв man find, набрав: /printf format.

Кстати, нужно было добавить \nк обоим printf(bash и find): "%d\n", иначе они будут вывести весь вывод в одну строку.

1
27.01.2020, 23:33

Теги

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