Как исключить файлы по имени в команде поиска ClearCase?

StackOverflow https://stackoverflow.com/questions/218638

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

Я использую RedHat linux-версию ClearCase.Я попробовал "cleartool find !-имя pom.xml -напечатать" и это не сработает.

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

Это было полезно?

Решение

Ты, кажется, забываешь о -исполнительный директор опция команды поиска cleartool.

На самом деле это позволяет вам выполнять другие команды, отличные от команд 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 позволяет ограничить поиск только именами файлов (не названиями каталогов).

Другие советы

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

cleartool ls -short -nxname | grep -v pom.xml

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

задача ccapply

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top