Clearcase Многофайловое переименование

У меня есть большое количество файлов в структуре каталогов ClearCase, и мне нужно просмотреть и изменить все «makefile» на «Makefile». Я думаю о какой-то комбинации команды find . -name makefile с флагом exec, но мне сложно придумать команду exec. Команда cleartool mv не выполняет автоматическую проверку каталога, поэтому мне нужно проверить это, а затем выполнить команду mv. Но насколько я могу судить, единственное, с чем мне нужно работать, это символ% CLEARCASE_PN%, который дает мне полный путь. Поэтому мне нужно извлечь из этого каталог. Я надеюсь, что кто-то, кто лучше меня владеет оболочкой, сможет придумать правильную команду быстрее, чем я смогу разгадать ее.

Здесь у меня есть cleartool, Windows cmd и Cygwin.


person mbyrne215    schedule 04.12.2008    source источник


Ответы (1)


Я предполагаю, что в вашей среде cygwin есть bash. Если вы это сделаете, вы можете написать небольшой сценарий bash, используя этот ответьте на предыдущий вопрос примерно так:

#!/bin/bash
FILE=$1
DIR_NAME=$( dirname $FILE )
FILE_NAME=$( basename $FILE )

#checkout directory $DIR_NAME with whatever the cleartool command is
#rename with cleartool $DIR_NAME/$FILE to $DIR_NAME/new_name

/usr/atria/bin/cleartool checkout -nc $DIR_NAME; 
/usr/atria/bin/cleartool mv $DIR_NAME/$FILE_NAME $DIR_NAME/Makefile;

Затем вызовите сценарий с помощью:

find . -name orig_name -exec myscript.sh {} \;

Предупреждения:

  • каталог, который уже был извлечен, вызовет сообщение об ошибке при повторном извлечении (можно игнорировать)
  • вам нужно будет зарегистрировать все каталоги, извлеченные во время этого процесса, иначе никто не увидит результат перемещения (кроме тех, которые имеют доступ к этому текущему представлению)
person David Rodríguez - dribeas    schedule 04.12.2008
comment
Идеально! Если кому-то интересно, команды cleartool следующие: cleartool checkout -nc $ DIR_NAME; cleartool mv $ DIR_NAME / $ FILE_NAME $ DIR_NAME / Makefile; - person mbyrne215; 04.12.2008
comment
Кто-нибудь знает, как отредактировать этот ответ, чтобы добавить команды cleartool в приведенный выше пример кода? В других сообщениях у меня есть возможность редактирования, но не здесь. Может потому, что это принято в качестве ответа? - person David Rodríguez - dribeas; 04.12.2008
comment
К вашему ответу добавлены команды cleartool. Дайте мне знать, если вы хотите, чтобы я отредактировал что-нибудь еще. - person VonC; 04.12.2008
comment
Спасибо, я просто хотел добавить отзыв об исходной публикации, чтобы было легче для будущих читателей. Спасибо журнал. - person David Rodríguez - dribeas; 04.12.2008