wildcarding значительно повреждает Производительность BIND?

Это не всегда применимо, но когда это, это - простое решение. Установите globstar опция (set -o globstar в ksh93, shopt -s globstar в ударе ≥4; это идет по умолчанию в zsh). Затем используйте **/ соответствовать текущему каталогу и его подкаталогам рекурсивно.

Например, вместо find . -name '*.txt' -exec somecommand {} \;, можно работать

for x in **/*.txt; do somecommand "$x"; done

Вместо find . -type d -exec somecommand {} \;, можно работать

for d in **/*/; do somecommand "$d"; done

Вместо find . -newer somefile -exec somecommand {} \;, можно работать

for x in **/*; do
  [[ $x -nt somefile ]] || continue
  somecommand "$x"
done

Когда **/ не работает на Вас (потому что Ваша оболочка не имеет его, или потому что Вам нужен a find опция, которая не имеет аналога оболочки), определите функцию в find -exec аргумент.

0
26.09.2013, 08:15
1 ответ

Нет, это не повредит производительность. Подстановочный знак является единственной ресурсной записью. Это больше не берет или меньше системных ресурсов, чем какая-либо другая единственная ресурсная запись.

1
28.01.2020, 02:53

Теги

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