我正在使用OSX El Capitan。我有一系列md文件,file1.md,file2.md,file3.md等。有些# ## ###
之前或之后没有行。当我转换为epub文件时,这会中断。
样品:
<a name="introduction"></a>
## Introduction
...
some texts
### Next topic
...
some texts
### Topic 3
some texts
pandoc -S -o Laravel-doc-5.2.epub *.md
输出没有h1或h2标记。
## Introduction
所以我想在# or ## or ###
行之前和之后插入空行如果没有行。
我想要的是:
<a name="introduction"></a>
## Introduction
...
some texts
### Next topic
...
some texts
### Topic 3
some texts
如何通过终端或任何方法实现这一目标?
答案 0 :(得分:2)
使用以下模式可能会按预期运行OS X
:
sed '/^#/{x;p;x;G;}' file.md
该命令进行交换,打印,交换,然后在#
行上方/下方添加换行符。
答案 1 :(得分:1)
这应该适用于GNU系统:
sed 's/^#\{1,3\}.*/\n&\n/' file
在OSX上,您需要以下命令:
sed 's/^#\{1,3\}.*/\'$'\n&\'$'\n'/' file
或只是
sed 's/^#\{1,3\}.*/
&
/' file
抱歉,我无法测试OSX上的命令,我指的是:http://nlfiedler.github.io/2010/12/05/newlines-in-sed-on-mac.html