Как исключить файлы по имени в команде поиска ClearCase? - PullRequest
5 голосов
/ 20 октября 2008

Используя команду ClearCase find, как мне найти все файлы в каталоге, которые не имеют имени pom.xml?

Я бы хотел передать другие параметры выбора команде поиска ClearCase, поэтому я бы предпочел не выполнять другую команду.

Я использую версию ClearCase для Linux от RedHat. Я пробовал "cleartool find! -Name pom.xml -print", и это не работает.

PS: Я не использую ClearCase по своему выбору, это предусмотрено моим проектом. Это одна из причин, почему я ненавижу это. Я прочитал справочные страницы несколько раз и не вижу четкого способа сделать это, работающее!

Ответы [ 3 ]

3 голосов
/ 03 ноября 2011

Есть еще одно решение, которое может работать на вас. Попробуйте

ccapply task

3 голосов
/ 20 октября 2008

Подстановочные знаки ClearCase не имеют инверсии (AFAIR), но вы можете использовать для этого grep -

cleartool ls -short -nxname | grep -v pom.xml
2 голосов
/ 22 октября 2008

Кажется, вы забыли параметр -exec команды cleartool find.

На самом деле он позволяет вам выполнять другие команды, кроме cleartool, в том числе системные (например, скрипт sh или DOS).

Я знаю, что вы бы "предпочли не выполнять другую команду", но если этот другой системный скрипт является частью опции exec команды find ... можно утверждать, что это все еще одна команда ;)

Итак, создайте простой скрипт, подобный:

(Unix 'print.sh')

#!/bin/sh
if [ $1 != $2 ] ; then
  echo $1
fi

(windows 'print.bat')

@echo off
if not "%1"=="%2" echo "%1" 

Поместите этот сценарий либо в каталог поиска, либо добавьте путь сценария в среду% PATH% или $ PATH.

И, наконец, используйте команду find (со всеми другими опциями , касающимися фильтрации дат, ветвлений и т. Д.)

(Unix)

cleartool find . -nrec -type f -exec './print.sh $CLEARCASE_PN ./pom.xml'

(окна)

cleartool find . -nrec -type f -exec "print.bat %CLEARCASE_PN% .\pom.xml"

А вот и вы: «все файлы в каталоге, которые не имеют имени pom.xml».

Примечание: опция '-type f' команды find позволяет ограничить поиск только именами файлов (не именами каталогов).

...