awk 'BEGIN {convert["0"]="1";convert["1"]="2";convert["2"]="3"
convert["3"]="4";convert["4"]="5";convert["5"]="6"
convert["6"]="7";convert["7"]="8";convert["8"]="9"
convert["9"]="0"}
function subdigit( tmp) {
tmp=$0
start=0
while(match(tmp,/(^|[^0-9])[0-9]*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]($|[^0-9])/)>0)
{
start=start+RSTART+RLENGTH
c=substr($0,start-1,1)
if(match(c,/[^0-9]/)>0||start>length($0)+1) start=start-1
tmp=substr($0,start)
s=""
for(i=1;i<=4;i++)
{
c=substr($0,start-i,1)
c=convert[c]
s=c s
}
$0=substr($0,1,start-5) s substr($0,start)
}
}
{ subdigit($0)
print $0}' 旧文件名 > 新文件名