【发布时间】:2010-06-07 22:18:06
【问题描述】:
我正在寻找一种“相对”简单的方法来搜索 cvs 以在 HEAD 修订中查找特定字符串。
我意识到 CVS 存储版本的方式使这变得困难。但我正在尝试编写一些脚本来允许此搜索(此处不期望性能)。
目前这个命令会输出头文件的内容 cvs co -r HEAD -p
stdout = 文件内容(用于搜索字符串) stderr = 文件名/标题信息(被 grep 用于表示文件名的行)。
理想情况下,我想 grep 内容并在搜索项目前后显示标题 + 几行(此输出可能定向到某个文件)。
我找到了一种使用不同值 grep 标准输出和标准错误的方法。结果显示的 stdout/stderr 顺序正确。但是任何将其重定向到文件的尝试都会打乱顺序?
{
{ cvs co -r HEAD -p myModule 4>&- | grep 'myString' 2>&4 4>&-
} 4>&2 2>&1 >&3 3>&- | grep 'Check' >&2 3>&-
} 3>&1
问题 1. 有没有更简单的方法可以一起完成这一切?
问题 2。如果不是,我如何将上面代码的输出以与控制台上显示的顺序相同的顺序附加到文件中?
【问题讨论】:
标签: cvs