我有一个包含以下内容的文件。
abc.[1-3].title
simple.0[1-2].title
我需要帮助才能使用 sed 和 awk 命令获取输出,如下所示。
abc.1.title
abc.2.title
abc.3.title
simple.01.title
simple.02.title
答案 0 :(得分:3)
sed用于单个行的简单替换,全部。其他任何事情,例如你当前的问题,你应该使用awk:
$ cat tst.awk
BEGIN { FS="[][]" }
{
split($2,r,/-/)
for (i=r[1]; i<=r[2]; i++) {
print $1 i $3
}
}
$ awk -f tst.awk file
abc.1.title
abc.2.title
abc.3.title
simple.01.title
simple.02.title
阅读Arnold Robbins撰写的有效Awk编程,第4版。