cvs log -N
可以避免一个文件的tag被显示出来, 这可以保持输出的header部分比较短:
RCS file: /Amsrc/ColorPrint/DrvCfgFiles/en/DGI.xml,v
Working file: en/DGI.xml
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 13; selected revisions: 13
description:
但, 还不是最短, 往往需要看的只是revision 信息
cvs 没有一个跟 -h/-t 相对应的开关避免显示header信息.
很多方法可以把header信息过滤掉:
sed:
cvs log filename | sed '1,/^-------*$/d'
awk:
cvs log filename | awk 'BEGIN{a=0}(a==1){print $0}/^----/{a=1}'
perl:
#!/usr/bin/perl
#
### due to the limited cvs log input, read it all-in-one
my @all_rev_str = ;
my $first_rev_begin = 0;
foreach $line (@all_rev_str)
{
print $line if $first_rev_begin;
$first_rev_begin = 1 if($first_rev_begin == 0 && $line =~ /^----------------------------\r?\n/ )
}
这是好读一点的版本, 也可以一类似awk那样搞定
cvs log file_name | perl -n -e 'print if $a;$a=1 if /^---/;'
bash:
cvs log file_name | (export a="";while read l; do [ $a != "" ] && echo "$a,$l"; [ "${l/----------------------------/}" = "" ] && [ "$l" != "" ] && a=1; done)
阅读(1132) | 评论(0) | 转发(0) |