Как исключить каталоги с пробелами через PRUNEPATHS locate?

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

8
17.10.2011, 21:32
1 ответ

В updatedb.sh строка 175 дает подсказку:

PRUNEREGEX=`echo $PRUNEPATHS|sed -e 's,^,\\\(^,' -e 's, ,$\\\)\\\|\\\(^,g' -e 's,$,$\\\),'`

Там $PRUNEPATHS обрабатывается как простой текст, '' символы заменяются, и никакой выход не возможен.

Гарантировать пространство переживает ту строку 175, необходимо обозначить его, явно не упоминая его. Лучшим способом я знаю, должен использовать \s, что означает пробельный символ:

PRUNEPATHS='/path/to/Program\sFiles\s(x86)'

(Который будет также включать символы табуляции и символы новой строки, но в этом случае будет хорошо для Вас.)

Иначе должен установить $PRUNEREGEX непосредственно, как updatedb сделал бы в строке 175:

PRUNEREGEX='\(^/path/to/Program Files (x86)$\)'

Там Вы разделяете разнообразные пути с \|, таким образом, пространство больше не является проблемой:

PRUNEREGEX='\(^/path/to/Program Files (x86)$\)\|\(^/foo/bar$\)'
5
27.01.2020, 20:13
  • 1
    \s обманите работы, но только с --prunepaths опция сценария не whe вставила conf файл. Я, вероятно, сделаю свое собственное PRUNEREGEX.Спасибо. –  malana 17.10.2011, 19:35
  • 2
    Честно я только протестировал его с параметром командной строки и переменной среды. На самом деле я не мог найти любое доказательство этим updatedb использование /etc/updatedb.conf. –  manatwork 17.10.2011, 20:05

Теги

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