特定のWindowsフォルダがNTFSにマウントされないように除外したいと思います。構文にlocate
精通しています。スペースで区切られたディレクトリ名のリスト。PRUNEPATHS
/etc/updatedb.conf
私の問題は、それ自体にスペースを含むディレクトリ(たとえば)を除外したいということですProgram Files (x86)
。
バックスラッシュエスケープしようとしましたが、うまくいきませんでした。
ベストアンサー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)'
(ここにはタブや改行文字も含まれますが、この場合は大丈夫です。)
もう1つの方法は、175行目に示す$PRUNEREGEX
ように直接設定することです。updatedb
PRUNEREGEX='\(^/path/to/Program Files (x86)$\)'
以下を使用して複数のパスを区別できます\|
。
PRUNEREGEX='\(^/path/to/Program Files (x86)$\)\|\(^/foo/bar$\)'