Запустить Linux с двойной загрузкой (Windows) на VMware?

с find для типов каталогов в текущем каталоге без рекурсии:

find . ! -name . -prune ! -type d | grep -c /

... только для каталогов отбрасывается второй удар или для всех типов файлов полностью отказаться от теста -типа .

в данном случае это просто, потому что без рекурсии мы всегда видим только один разделитель пути для каждого файла, и поэтому не возникает путаницы в том, что и где считать.подсчет новых строк, когда вы должны подсчитывать файлы, может привести к проблемам - эти две вещи не связаны. так что же делать в противном случае?

find .//. | grep -c '^\.//\.'

... вернет точное количество дочерних объектов + этот объект с корнем в текущем каталоге.

одинаково действителен, но с обратной логикой, потому что он цитирует новые строки внутри и, вероятно, быстрее, потому что ему требуется только stat () для каждого каталога, а не для каждого составляющего файла:

\ls -1qRA . | grep -Exc \[^/]+

если вы отбрасываете ] -R для ls он также будет работать без рекурсии.

Однако возможно, что приведенное выше может вернуть ложный счет в зависимости от многобайтовых символов в именах файлов и несовместимых настроек локали. помещение LC_ALL = C в POSIX-совместимую среду ls защитит от этого, а для подсчета глубины большого дерева это может только помочь в вопросах производительности после все.

0
06.01.2019, 23:39
1 ответ

Я смог установить i3 на Debian Stretch, используя эти репозитории:

deb http://deb.debian.org/debian stretch main          
deb-src http://deb.debian.org/debian stretch main

Попробуйте использовать эти репозитории и запустить apt-get update.

1
28.01.2020, 02:42

Теги

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