Какая опция «-Миндта» делает в этом Команда?

команда "deja-dup-preferences" просто создайте пункт меню на любом рабочем столе, который вы используете, который выполняет вышеуказанную команду, и на вашем рабочем столе откроется графический интерфейс

0
20.03.2019, 14:59
2 ответа

Глубина 0 — это аргументы командной строки, 1 — файлы, содержащиеся в них, 2 — файлы, содержащиеся в глубине 1 и т. д.

-mindepth Nуказывает обрабатывать только файлы с глубиной >= N, подобно тому, как -maxdepth Mсообщает обрабатывать только файлы с глубиной <= M. Поэтому, если вы хотите, чтобы файлы находились на глубине 2, вам нужно использовать оба.

Ваша команда будет соответствовать $RAW_DIR/foo/bam.bam, но не $RAW_DIR/bar.bam.

Попробуйте, например.

$ mkdir -p a/b/c/d
$ find./a -maxdepth 2
./a
./a/b
./a/b/c
$ find./a -mindepth 2
./a/b/c
./a/b/c/d
$ find./a -maxdepth 2 -mindepth 2
./a/b/c

maxdepthс отрицательным аргументом ничего не значит:

$ find./a -maxdepth -2
find: Expected a positive decimal integer argument to -maxdepth, but got ‘-2’
6
28.01.2020, 02:15

Параметры -mindepth 2и -maxdepth 2вместе ограничивают область действия findкаталогами на второй глубине от $RAW_DIR.

Команда findидентична команде оболочки bash

printf '%s\n' "$RAW_DIR"/*/*.{sam,bam} | wc -l

Будет подсчитано количество файлов .samи .bamв подкаталогах $RAW_DIR. Тем не менее, он по-прежнему будет давать 1 для отсутствия файлов, но, как и команда find, он будет считать файл со встроенным символом новой строки в его имени как два файла.

Для абсолютно корректной findкоманды, которая считает имена файлов, содержащих встроенные символы новой строки, как один файл:

find. "$RAW_DIR" -type f -mindepth 2 -maxdepth 2 \
    '(' -name '*.bam' -o -name '*.sam' ')' -exec echo x ';' | wc -l

Это выведет xв отдельной строке для каждого найденного файла, соответствующего критериям, и wc -lподсчитает эти x -es.

1
28.01.2020, 02:15

Теги

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