分页: 1 / 1

求脚本,修改文件

发表于 : 2011-08-19 9:03
killer2001
原文件有多行error:
。。。
error:
。。。。
error:
。。。。
error:
。。。
。。。
怎样把error依次换为error01, error02,error03.。。。。。?

Re: 求脚本,修改文件

发表于 : 2011-08-19 9:10
cuihao
先问几个问题:
LZ确定error后面的冒号是全角字符?而且都是小写?而且都只占一行?
标号会不会超过99?超过了怎么办?

Re: 求脚本,修改文件

发表于 : 2011-08-19 10:27
killer2001
cuihao 写了:先问几个问题:
LZ确定error后面的冒号是全角字符?而且都是小写?而且都只占一行?
标号会不会超过99?超过了怎么办?
"error:" 是单独一行的。

Re: 求脚本,修改文件

发表于 : 2011-08-19 10:30
eexpress
如果要error00: 这样的格式。那就要printf格式化输出。
如果要perl,就吱一声。
如果要python,就吱五声。
如果要bash,别吱声。

Re: 求脚本,修改文件

发表于 : 2011-08-19 11:18
yjcong

吱吱吱吱吱

Re: 求脚本,修改文件

发表于 : 2011-08-19 11:22
cuihao
killer2001 写了:
cuihao 写了:先问几个问题:
LZ确定error后面的冒号是全角字符?而且都是小写?而且都只占一行?
标号会不会超过99?超过了怎么办?
"error:" 是单独一行的。
还是不清楚呢。编号会不会超过100?01,02,03...99,然后是啥格式?

Re: 求脚本,修改文件

发表于 : 2011-08-19 11:49
cjxgm

代码: 全选

cat file|awk '{ if ($0 ~ /^error:/) {sub(/^error:/, ""); printf("error%2.2d:%s\n", i++, $0)} else print $0 }'

Re: 求脚本,修改文件

发表于 : 2011-08-20 1:49
fnan
i=100;while read l;do [[ $l == "error:" ]] && ((i++)) && echo "error${i:1}" || echo $l;done <file