0

我有这个用于 CVS 状态管理的当前解决方案:-

cvs -q status|awk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=1 a=9 s='(Locally Modified)|(Needs Patch)'

这让我显示了本地修改的文件和需要修补的文件,这很棒。然而,对我来说,一个可以捕捉所有状态的更好的解决方案是当状态不等于“最新”时。我试过 s!= 和 s<> 但它似乎只允许 =。

4

1 回答 1

0

一点空白将有很长的路要走...

的反面$0 ~ s$0 !~ s,所以

cvs -q status | awk '
    c-- > 0
    $0 !~ s {
        if (b)
            for (c=b+1; c>1; c--)
                print r[(NR-c+1)%b]
        print
        c=a
    }
    b {r[NR%b]=$0}
' b=1 a=9 s='Up-to-date'
于 2013-10-23T16:16:37.243 回答