本帖最后由 CrLf 于 2014-6-12 04:45 编辑
感觉用 printf 更方便:- set "rnd=%random%"
- del *.$%rnd%
- gawk -F";" "{printf("%%s;%%s0;%%s0;%%s0;%%s0;%%.2f;%%.2f",$1,$2,$3,$4,$5,$6,$7)>FILENAME ".$%rnd%"}" *.txt
- del *.txt
- ren *.$%rnd% *.
复制代码 学过 c 的用 printf 应该都很爽吧?
实测 800M 文件一秒一个,现在是用类似 sed 的办法输出到临时文件再替换源文件,要实现直接输出到源文件也行,但麻烦点就不写了
----------------------------------------------------------------------------------
9 楼 sed 代码似可简化,不需要那么多正则:- sed -i "s/\...;/&0;/g;s/;/.00;/6;s/.$//" *.txt
复制代码 但用这里无论是用 sed 正则还是面对对象语言都太浪费 cpu 了,貌似 gawk 比较经济适用 |