Нечетный псевдоним «найти. -name '* \! {*} *' -ls ”в Unix Power Tools

Не совсем. Учтите, что find не знает, что находится в дереве каталогов, но узнает, рекурсивно читая весь список каталогов. (извините за каламбур.) Например, может быть два каталога первого уровня, один из которых содержит 1 файл, а другой - 1000000 файлов.

Что-то вроде копирования дерева было бы другим, поскольку программа могла бы сначала выполнить поиск в дереве, чтобы узнать количество и размер всех файлов, и использовать это для оценки завершения. Это можно сделать, поскольку размеры файлов сохраняются явно, нет необходимости читать весь файл, чтобы узнать его размер. Но насколько мне известно, ни одна обычная файловая система не сохраняет информацию о количестве файлов в дереве. (Не то чтобы это было бы невозможно, но даже если какая-то система сделает это, find придется изменить, чтобы использовать информацию.)

Теперь, что касается пляжного мяча и ощущения замораживания, вы запускаете подпроцесс синхронно, например что пользовательский интерфейс заблокирован во время работы? Обычно это плохая идея, и вы можете поискать способы запустить внешнюю программу в фоновом режиме, показывая при этом красивое сообщение «Все еще ищу ...». С возможностью прервать поиск, если пользователь станет нетерпеливым.

3
18.12.2015, 00:48
0 ответов

Теги

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