Почему действительно “находит. - называют *.txt |, xargs du-hc” дает несколько общих количеств?

WITH CHECK действительно поведение по умолчанию однако, это - хорошая практика для включения в рамках кодирования.

альтернативное поведение состоит в том, чтобы, конечно, использовать WITH NOCHECK, таким образом, хорошо явно определить Ваши намерения. Это часто используется, когда Вы играете со встроенными разделами.

9
задан 24 August 2009 в 17:29
поделиться

4 ответа

Как насчет использования параметра --files0-from для du? Вам нужно будет соответствующим образом сгенерировать вывод файла с завершающим нулем:

find . -name "*txt" -exec echo -n -e {}"\0" \; | du -hc --files0-from=-

работает правильно в моей системе.

12
ответ дан 4 December 2019 в 07:47
поделиться

Программа xargs разбивает все на пакеты, чтобы учесть ограничения, связанные с максимальной длиной командной строки unix. Это по-прежнему более эффективно, чем запуск вашей подкоманды по очереди, но для длинного списка входных данных он будет запускать команду столько раз, что каждый «запуск» будет достаточно коротким и не вызовет проблем.

Из-за этого , вы, вероятно, увидите одну строку вывода на «пакет», который должен запускать xargs.

Поскольку вы можете найти его полезным / интересным, страницу руководства можно найти в Интернете здесь: http: //unixhelp.ed .ac.uk / CGI / man-cgi? xargs


Еще одна вещь, на которую следует обратить внимание (и это может быть опечатка в вашем сообщении или мое недоразумение), заключается в том, что у вас есть "* .txt" без экранирования / цитирования. Т.е.,

5
ответ дан 4 December 2019 в 07:47
поделиться

xargs busts its input into reasonable-sized chunks - what you're seeing are totals for each of those chunks. Check the man page for xargs on ways to configure its handling of input.

0
ответ дан 4 December 2019 в 07:47
поделиться

Альтернативным решением является использование awk:

find . -name "*.txt" -exec ls -lt {} \; | awk -F " " 'BEGIN { sum=0 } { sum+=$5 } END { print sum }'
0
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

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