Простой ответ не, и это возвращается к, по крайней мере, 2005 при выполнении этой en-массы с личинкой затем необходимо все еще смочь указать в параметрах загрузки пути к зеркалу, точно так же, как Вы можете с определением пути к Запускать файлу.
Некоторые блестящие примеры того, как сделать это, могут быть найдены на Инфраструктуре Fedora страницы Wiki, главным образом просто -x "method=
Просто заставьте его работать с небольшими сценариями удара. Распечатайте размер и имя файла, если это - каталог, добавляет запаздывающая наклонная черта.
du -ab | while IFS=$'\t' read -r size line; do printf "%s\t%s" $size "$line"; [[ -d $line ]] && printf "/"; echo; done
Это будет работать с любым именем файла, не содержащим новые строки или заканчивающимся вкладкой.
Мой любимый прием с GNU du
.
du -chs -- */ *
Так как du исключает дубликаты на параметрах командной строки, он работает, и распечатайте наклонную черту автоматически, так как Вы предоставили наклонную черту для папки.
*/
кому: **/*/
(или **/
, В зависимости от Вашей оболочки) (после того, как включение globstar
опция в ksh или ударе), но это может быть медленнее из-за двух рекурсивных обходов. Кроме того, вывод не будет отсортирован в разумном порядке.
– Gilles 'SO- stop being evil'
21.10.2012, 23:20
[[ -d $line ]]
? – I'll-Be-Back 20.10.2012, 23:14du
. Это должно быть I/O-bound так или иначе. Возможно, изменяя тело цикла наif [[ -d $line ]]; then d=/; else d=; fi; echo -E "$size"$'\t'"$line$d"
немного ускорит вещи, если скорость вывода будет ограничивающим фактором, потому что метаданные файла уже находятся в кэше. – Gilles 'SO- stop being evil' 21.10.2012, 01:22du -ab | while IFS=$'\t' read -r size line; if [[ -d $line ]]; then d=/; else d=; fi; echo -E "$size"$'\t'"$line$d"; done
– I'll-Be-Back 21.10.2012, 01:40