Как я могу добавить автоматическое заполнение для “драгоценного камня который” с rbenv?

Обычно это - плохая идея проанализировать вывод ls. Но во встроенной системе, которая имеет нет stat, никакой zsh, нет find -printf, никакой жемчуг или другой большой язык сценариев, это - единственный способ отсортировать файлы по дате. Предположение, что имена файлов не содержат пробела и ни одного из \'" (который xargs искажения) — предположение, что Ваш исходный сценарий делает — можно использовать xargs ls -str к дисплейным файлам, отсортированным по дате, и дисплей их размер в процессе.

find $DIRS -type f |
xargs ls -str |
while read kilobytes filename; do …

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

Существует большой протест со сценарием выше: это только распечатает свои результаты в правильном порядке, если количество файлов будет достаточно небольшим это xargs может выполнить единственный вызов к ls. Если существуют множественные вызовы ls, каждый вызов отсортирует свои аргументы отдельно. Можно распечатать даты файла с ls, но сортировка этого человекочитаемого вывода очень сложна. Лучшее решение, по крайней мере, обнаружить ошибочный случай состоит в том, чтобы заменить выводом find в командную строку.

{ set -f; IFS='
'; ls -str $(find $DIRS -type f); } |
while read -r kilobytes filename; do …

1
16.02.2014, 00:58
1 ответ

Я не знаю ни о каких платформах или инструментах, которые помогут в выполнении этого. О лучшей вещи Вы найдете, несметное число примеров, которые присутствуют в Вашей системе наряду с различными учебными руководствами в Интернете, такими как этот назвал: Запись Вашей собственной Функции Завершения Bash.

Официальные документы должны, вероятно, быть всем, в чем Вы нуждаетесь все же.

0
28.01.2020, 01:59

Теги

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