用一点逻辑替换字符串的Shell脚本

用一点逻辑替换字符串的Shell脚本,shell,Shell,我有正确包含的文件 ``` Some text ``` <pre> Some text </pre> 我需要把滴答声换成pre 一些文本 诀窍是,第一个pre没有/,但第二个pre有 使用GNUawk: $cat文件 ```一些文本``` ```一些 正文``` $gawk-vrs='`'-vrs='NR>1{$0=(!(NR%2)?“”:“”)文件$0}1 一些文本 一些 正文 文本是否跨越多行?是的,一些文本可能跨越多行。我将在前面用Python回答这个问题,但

我有正确包含的文件

``` Some text ```
<pre> Some text </pre>
我需要把滴答声换成pre

一些文本

诀窍是,第一个pre没有
/
,但第二个pre有

使用GNU
awk

$cat文件
```一些文本```
```一些
正文```
$gawk-vrs='`'-vrs='NR>1{$0=(!(NR%2)?“”:“”)文件$0}1
一些文本
一些
正文

文本是否跨越多行?是的,一些文本可能跨越多行。我将在前面用Python回答这个问题,但这是一个非常好的解决方案,而且更短。:)
$ cat file
``` Some text ```
``` Some
text ```
$ gawk -v RS='```' -v ORS= 'NR>1{$0=(!(NR%2)?"<pre>":"</pre>")$0}1' file
<pre> Some text </pre>
<pre> Some
text </pre>