具体来说,我有一个Markdown文档,其中的数字列为
```

...

```
我想最终得到以下内容:
```

...

```
即,单调递增的数字。我觉得有一些sed / awk忍者可以解决这个问题。
答案 0 :(得分:2)
我会说
awk '/^!\[Figure/ { sub(/XXX/, ++n) } 1' filename.md
这将替换所有以XXX
开头且带有正在运行的计数器的行中![Figure
的第一次出现。
如果![Figure
序列也可以出现在一行中间,可能会出现在一行中(我不认为这很可能,但为了完整起见,让我们考虑一下),你可以使用
awk 'BEGIN { n = 1 } { while(sub(/!\[Figure XXX/, "![Figure " n)) ++n; } 1' filename.md