поиск с -prune оставляет сокращенные имена каталогов

Я предполагаю, что для одного или другого у вас будет ~ / .vimother вместо обычного ~ / .vimrc , а затем запустите тот или иной вариант через $ vim -u ~ / .vimother , возможно, через псевдоним оболочки или функцию. Это позволит отделить материал vim от материала neovim.

0
21.02.2018, 11:52
2 ответа

-pruneисключает содержимое каталога, но не сам каталог. Это происходит, если -pruneявляется единственным действием в команде find. Если бы было какое-либо другое действие (, например. -execили -print), он не будет выводить сокращенные имена каталогов. Так что вам просто нужно добавить явное -printв конце вашей команды find. Например:

find./ \( -path "*work*" -o -path "*ncvlog_lib*" \) -prune -o -type f  \
  -not -name "*.wlf" -not -name "*.vcd" -not -name "*.sim" -not -name "*vcs*" \
  -print

Кстати, вы можете сократить/упростить команду find, используя один предикат -regex, а не несколько предикатов -name. например.

find./ \( -path "*work*" -o -path "*ncvlog_lib*" \) -prune -o -type f \
  -regextype awk -not -regex '.*\.(wlf|vcd|sim)$|.*vcs.*' -print

Это производит выходные данные, идентичные тому из первой версии выше.

1
28.01.2020, 04:30

Creo que en tu caso

-prune -o -type f

es ambiguo:-oque significa "o", cuando findencuentra un directorio, el -prunees verdadero, por lo que -type fno se evalúa

0
28.01.2020, 04:30

Теги

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