передайте переданную по каналу переменную остроте жемчуга

Клиент с открытым исходным кодом для Google Drive существует: Grive.

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

Источники и двоичные файлы доступны на GitHub. Третье лицо, webupd8, обеспечило PPA для Ubuntu.

Обратите внимание, что от этого проекта официально отказываются с сентября 2018.

0
02.04.2013, 16:49
3 ответа

Perl был бы излишеством здесь.

find . -maxdepth 1 -mindepth 1 | wc -l

(лучше используйте grep -c / вместо wc -l в случае, если некоторые имена файлов имеют символы новой строки в них).

Или с GNU ls:

ls -A | wc -l

С zsh:

f=(*(D))
echo $#f

Удалить тот:

... | tail -n +2 | wc -l

Или:

n=$(... | wc -l); echo "$(($n - 1))"

С жемчугом можно использовать -n или -p флаг:

... | perl -lpe '--$_'

Выше этого --$_ выражение оценено и содержание $_ переменная распечатана для каждой строки входа.

4
28.01.2020, 02:21

Существует причина, почему Вы получаете неправильный ответ. В этом случае я ожидаю, что Вы хотите считать записи каталога и не видеть сам каталог, перечисленный, как представлен единственной точечной строкой, которая является последней строкой вывода от находки.

Решение состояло бы в том, чтобы скрыть записи, которые не должны считаться из "туалета-l", примера

find .  -depth -maxdepth 1 | grep -v "^\.$" | wc -l

Так как grep может считать строки, можно использовать это для сохранения потребности запустить дополнительный исполняемый файл, пример

find . -depth -maxdepth 1 | grep -vc "^\.$"

Так как количество найденных объектов не изменяется на основе того, пересекаете ли Вы глубину сначала или нет, можно устранить ту опцию, дав Вам

find . -maxdepth 1 | grep -vc "^\.$"
0
28.01.2020, 02:21

Я соглашаюсь с другими ответами, жемчуг является излишеством для того, что Вы, кажется, ищете. Тем не менее, конечно, существуют законные причины передачи переменной удара к жемчугу. Используйте экспорт и переменную среды perl вдоль этих строк:

# i=$(find . -d -maxdepth 1 | wc -l) ; export i=$i ; perl -le 'print "Removing one from  $ENV{i} for ".($ENV{i}-=1)'; unset i 

Для числового решения от оболочки:

# i=$(find . -d -maxdepth 1 | wc -l) ; echo i=$((i-1))
0
28.01.2020, 02:21

Теги

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