Мне нужно найти все файлы cpp/h в рабочей копии svn для «foo», за исключением специальных папок svn. Что такое команда для GNU grep?Быстрая рекурсивная grepping рабочей копии svn
ответ
Я использую для этой цели ack, это как grep, но автоматически знает, как исключить каталоги управления источником (среди прочих полезных вещей).
Обратите внимание, что пакет ack на Ubuntu/Debian на самом деле называется «ack-grep», так как есть конвертер кода кандзи под названием «ack». – JesperE 2008-10-16 11:08:07
Это RTFM. Я набрал «man grep» и «/ exclude» и получил:
--exclude = GLOB Пропустить файлы, базовое имя которых соответствует GLOB (с использованием подстановочного знака ). Имя файла glob может использовать *,? И [...] как подстановочные знаки и \ заказывать символ или символ обратной косой черты буквально.
--exclude-с = ФАЙЛОМ Пропустить файлы, базовое имя совпадает с любым из имен файлов комков чтения из файла (с использованием группового символа, как описано в --exclude).
--exclude-dir = DIR Исключить каталоги, соответствующие шаблону DIR, из рекурсивного поиска .
RTFMing люди - это то, что вы делаете на usenet. SO отличается. Кстати, вы не ответили на вопрос. – Constantin 2008-10-16 11:43:22
Grep -ir --exclude-Dir = .svn Foo *
В рабочем каталоге будет делать. Опустите «i», если вы хотите, чтобы поиск был чувствительным к регистру.
Если вы хотите проверить только .cpp и .h файлы используют
Grep -ir --include = {.cpp, .h} --exclude-Dir = .svn Foo *
Любая возможность заменить * на что-то, что соответствует только cpp/h? – Constantin 2008-10-16 11:47:50
Идя немного не по теме:
Если у вас есть рабочая копия с большим количеством неотслеживаемых файлов (т.е. не контроль версии) и вы только хотят искать источник контролируемых файлов, вы можете сделать
Я написал сценарий this, который я добавил в свой .bashrc. Он автоматически исключает SVN-каталоги из grep, находит и находит.
Я использую эти Баш псевдонимы для содержания оглавлению и файлов в SVN деревьев ... Я нахожу его более быстрым и приятным для поиска из командной строки (и использовать vim
для кодирования), а не IDE GUI на основе:
s() {
local PATTERN=$1
local COLOR=$2
shift; shift;
local MOREFLAGS=$*
if ! test -n "$COLOR" ; then
# is stdout connected to terminal?
if test -t 1; then
COLOR=always
else
COLOR=none
fi
fi
find -L . \
-not \(-name .svn -a -prune \) \
-not \(-name templates_c -a -prune \) \
-not \(-name log -a -prune \) \
-not \(-name logs -a -prune \) \
-type f \
-not -name \*.swp \
-not -name \*.swo \
-not -name \*.obj \
-not -name \*.map \
-not -name access.log \
-not -name \*.gif \
-not -name \*.jpg \
-not -name \*.png \
-not -name \*.sql \
-not -name \*.js \
-exec grep -iIHn -E --color=${COLOR} ${MOREFLAGS} -e "${PATTERN}" \{\} \;
}
# s foo | less
sl() {
local PATTERN=$*
s "$PATTERN" always | less
}
# like s but only lists the files that match
smatch() {
local PATTERN=$1
s $PATTERN always -l
}
# recursive search (filenames) - find file
f() {
find -L . -not \(-name .svn -a -prune \) \(-type f -or -type d \) -name "$1"
}
- 1. Undelete в SVN рабочей копии
- 2. Дублирование рабочей копии в SVN?
- 3. SVN репозиторий для рабочей копии
- 4. Опыт управления локальной версией рабочей копии SVN?
- 5. SVN Дополнительные хранилища для рабочей копии
- 6. SVN: Безопасно ли обновление рабочей копии?
- 7. Автоматическое обновление рабочей копии SVN после фиксации
- 8. Jenkins: недействительная версия рабочей копии SVN
- 9. Разблокировка рабочей копии SVN с неверсированными ресурсами
- 10. Обновление рабочей копии SVN с внешней стороны
- 11. Восстановление моей рабочей копии SVN от Scratch
- 12. Как определить версию макета рабочей копии SVN?
- 13. SVN - Слияние рабочей копии в другую ветку
- 14. Удаление файла 'svn' внутри рабочей копии
- 15. Зеркалирование части SVN-репо для рабочей копии
- 16. Отсутствующие файлы в локальной рабочей копии SVN
- 17. Ищете ненужные каталоги в рабочей копии SVN?
- 18. Игнорировать ветви в рабочей копии SVN
- 19. Перемещение рабочей копии svn на другой компьютер
- 20. Рабочая копия Svn для рабочей копии git
- 21. Перемещение SVN рабочей копии после переименования филиала
- 22. svn - файл в рабочей копии кажется «потерянным»
- 23. Определить версию рабочей копии SVN с C#
- 24. Слияние рабочей копии svn с рабочей копией git и наоборот?
- 25. SVN репозиторий спустился и папка .svn отсутствовала в рабочей копии
- 26. Восстановление корня рабочей копии
- 27. Перемещение вашей рабочей копии
- 28. E155021 Формат неподдерживаемой рабочей копии
- 29. Просто используйте подкаталог рабочей копии
- 30. легкий CI для рабочей копии?
Как показывает Френтос, на ваш вопрос можно было бы легко ответить, если бы вы потратили время на консультации с страницами руководства. – freespace 2008-10-16 10:55:06
Эй, freespace, почему бы просто не ответить на «простой» вопрос? Я с радостью принимаю ваш ответ, если он будет прав. – Constantin 2008-10-21 16:19:19