我的情况是这样的 - 我有一个文件:
this line(5)
that line(6)
another line(9)
one more(88)
last line(156)
我需要将括号中的值从那个更改为:
this line(1)
that line(2)
another line(3)
one more(4)
last line(5)
基本上,使值从 1 开始排序。
现在,这是我的代码:
#!/bin/bash
FILE=$1
COUNT=0
echo "Working with $FILE"
if [ -f $FILE ]; then
while read -r line; do
echo ${line/\([0-9]{1,3}\)/\($COUNT\)};
let COUNT++;
done < $FILE
else
echo "File does not exist!"
fi
这是我得到的:
this line(5))/(0)}
that line(6))/(1)}
another line(9))/(2)}
one more(88))/(3)}
last line(156))/(4)}
我究竟做错了什么?如何在正则表达式中指定一些艺术长度?
非常感激。