2008-12-04 109 views
2

我有一个ClearCase目录结构中的大量文件,我需要经过和更改所有“生成文件”到“生成文件”。我正在考虑find . -name makefile命令与一个exec标志的组合,但是我很难用exec命令提出。 cleartool mv命令不会自动检出目录,所以我需要检查出来,然后执行mv。但据我所知,唯一需要处理的是%CLEARCASE_PN%符号,它为我提供了完整的路径名。所以我需要从中解析出目录。我希望有人比我更擅长使用shell,可以比我更容易想出正确的命令。ClearCase的多文件重命名

我有cleartool时,Windows CMD,和Cygwin与这里工作。

回答

3

我想你的cygwin环境中有bash。如果你这样做,你可以编写使用此answer上一个问题一个小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 {} \; 

警告:

  • 一已经签出的目录将在再次签出时触发错误消息(可以忽略)
  • 您必须签入所有的直接登录里斯在此过程中检出的,否则没有人会看到,此举的结果(除的那些访问该当前视图)
+0

完美!如果有人想知道,cleartool命令是: cleartool checkout -nc $ DIR_NAME; cleartool mv $ DIR_NAME/$ FILE_NAME $ DIR_NAME/Makefile; – mbyrne215 2008-12-04 14:53:23