有时候从博客上粘贴过来的代码带有行号,删除起来很麻烦。”程度搞定一切“,于是就写了个小脚本来删除每行开头的行号。放在这儿,以备以后再用。
#/usr/bin/perl my $fn=$ARGV[0]; open FILE,"$fn" or die "Can't open $fn:$!"; open OUT,">$fn".".out" or die "Can't create file:$!"; while(<FILE>){ chomp; $_=~s/(\d+)\s(.*)/$2/; print OUT $_."\n"; } close FILE; close OUT;
顺便说一下,Perl中的ARGV跟其他语言的有些不一样,比如C++中执行程序的命令本身就属于ARGV数组,而当你执行上面的脚本文件时“perl rmlineno.perl code.cpp",这里的"code.cpp"才是ARGV[0]。
其实有更简便的方法,在vim中打开有行号的C文件,执行
1,$s/^...//g
1,$代表从第一行到最后一行,g代表全部都替换
...代表3个字符,即把每行开头的3个字符去掉。