我正在尝试搜索给定分支中的所有文件以获取特定字符串。到目前为止我已经
了cleartool find . -branch 'brtype(<branch-name>)' -print
这将获取当前目录中分支名称“branch-name”的所有文件 但我希望能够搜索/ grep这些文件 你会怎么做?
答案 0 :(得分:2)
您可以使用command cleartool find
的-exec
指令来链接grep
命令:
# Windows syntax
cleartool find . -type f -branch 'brtype(MyBranch)' -exec "grep aSpecificString \"%CLEARCASE_PN%\""
# Unix syntax
cleartool find . -type f -branch 'brtype(MyBranch)' -exec 'grep aSpecificString "$CLEARCASE_PN"'
注意-type f
,将搜索限制为文件(而不是目录)。
另请注意,如果分支MyBranch
中有多个版本的文件,您将多次获得相同的文件。
要限制每个分支的一个文件结果,请将-branch
替换为-ele
(对于“元素”)
(正如我在“How to find the files modified under a clearcase branch”中说明的那样):
# Unix syntax
cleartool find . -type f -ele 'brtype(MyBranch)' -exec 'grep aSpecificString "$CLEARCASE_PN"'