Это эквивалент sed тому, что вы пытаетесь сделать с помощью grep:
# there is a space n a tab in the [...]
sed -ne '/[^ ]$/s/.*[ ]//p'
# this makes the code intent visually unambiguous
TAB=`echo 'x' | tr 'x' '\011'`; # tab
SPC=`echo 'x' | tr 'x' '\040'`; # space
h="[$SPC$TAB]"; # whitespace
S="[^$TAB$SPC]"; # nonwhitespace
sed -ne "/$S\$/s/.*$h//p"
sed -ne "s/.*$h\($S$S*\)\$/\1/p"
Ну, моя проблема была немного сложнее, и моя папка сборки на самом деле была символической ссылкой. В итоге я делаю следующее:
# Ignore build folder from the workplace and the package.
# Keep the src-generated sync so you build only on one side.
ignore = Path */build/*
ignore = Path */build
follow = Path */*/*/build
ignore = Path */*/*/build/*
ignorenot = Path */*/*/build/generated-src
Фокус в том, что Путь
принимает точныйпуть, так что глобусная часть касается только именования, и вам нужно указать точную глубину Папка. Таким образом, ignore = Path */*/*/build/*
будет игнорировать все в папке, но ignorenot = Path */*/*/build/generated-src
будет работать как ожидал. То же самое с Name
, как я делал раньше, не работает.