Регулярное выражение для скрытых файлов под Unix - PullRequest
2 голосов
/ 07 апреля 2009

Я ищу регулярное выражение для сопоставления каждого файла, начинающегося с "." в каталоге.

Я использую CMake (из документа CMake: «CMake ожидает регулярные выражения, а не глобусы») и хочу игнорировать каждый файл, начинающийся с точки (скрытые файлы), НО "\..*" или "^\..*" не работает: (

Странная вещь: это работает (благодаря rq's answer ) и удаляет все скрытые файлы и временные файлы ("~" прекращенные файлы)

file(GLOB DOT ".*")
file(GLOB TILD "*~")

set (CPACK_SOURCE_IGNORE_FILES "${DOT};${TILD}")

Но я не могу найти правильную запись в CPACK_SOURCE_IGNORE_FILES, чтобы получить тот же результат!

Вот " doc " этой переменной.

Ответы [ 5 ]

3 голосов
/ 08 апреля 2009

Похоже, что GLOB, вероятно, то, что вы хотите.

Попробуй это. Откройте файл «test.cmake» и добавьте следующее:

file(GLOB ALL "*")
file(GLOB DOT ".*")
file(GLOB NOTDOT "[^.]*")

message("All Files ${ALL}")
message("Dot files ${DOT}")
message("Not dot files ${NOTDOT}")

Затем создайте пару тестовых файлов:

touch .dotfile
touch notdot

Затем запустите "cmake -P test.cmake". Выход:

All Files /tmp/cmake_test/.dotfile;/tmp/cmake_test/notdot;/tmp/cmake_test/test.cmake
Dot files /tmp/cmake_test/.dotfile
Not dot files /tmp/cmake_test/notdot;/tmp/cmake_test/test.cmake

Это было проверено с помощью cmake 2.6.0.

1 голос
/ 06 января 2011

Следующая однострочная команда выполнит эту работу (спрятать скрытые и завершенные файлы тильды ("~")):

set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*$;~$;${CPACK_SOURCE_IGNORE_FILES}")
1 голос
/ 07 апреля 2009

Использование стандартного синтаксиса регулярных выражений:

^\..*

Поскольку CMake явно не нравится это, он может использовать что-то вроде:

^\\..*

Это всего лишь предположение, поскольку я не использую / не использую CMake.

0 голосов
/ 08 апреля 2009

Попробуйте это:

^[.].*
0 голосов
/ 07 апреля 2009

Вам нужно сбежать от него.

^\..*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...