Bash一键替换/清除文本文档中的跨行注释

日常工作中,如果遇到一个恶心的文本文档里面有各种骚批注,或者代码里总写一些骚注释,在统计代码量的时候,某些人当然不想把这些注释也算到统计里头啦。那么如何一键替换或者删掉这些玩意儿呢。

例子:一个恶心的文档可能和下头的东西类似。骚年把他看不懂的东西写了注释,并且还用<<<>>>这玩意括起来,还分了好几行,这样明明简简单单的几行代码,硬生生多出来2行。

long i; 
float x2, y; 
const float threehalfs = 1.5F ;
x2 = number * 0.5F ; 
y = number ; 
i = * ( long * ) &y;
i = 0x5f3759df - ( i >> 1 ); <<<When I wrote this, 
only God and I understood what I was doing.
Now, God only knows!>>>
y = * ( float * ) &i; 

哎。面对这种操作,我们只需要寄出传说中的sed就好啦。首先用bash新建一个sed文件,不如就命名成replace.sed好了。里面按照下面的格式写,其中<<<和>>>可以针对骚年的癖好替换成相应的骚字符;COMMENT可以换成你内心的真实想法,比如"evil floating point bit level hacking",也可以删掉直接写成s/<<<.*>>>//; 这样就真没人看懂了。

 :begin
  /<<</,/>>>/ {
    />>>/! {
        $! {
            N;
             b begin
        }
    }
    s/<<<.*>>>/COMMENT/;
  }

然后用bash执行如下命令

sed -f replace.sed output

这个时候会自动生成一个output文件,打开一看,舒服~。你学废了吗?

上一篇:LIinux之三剑客:gerp,awk,sed


下一篇:在CUDA8.0下指定位置编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)