按标题对 Markdown 文件进行排序

Hel*_*nFr 5 sorting markdown sed

是否可以按 1 级标题对 Markdown 文件进行排序?寻找sed或类似的命令行解决方案

#B
a content of B

#A
b content of A
Run Code Online (Sandbox Code Playgroud)

到...

#A
b content of A

#B
a content of B
Run Code Online (Sandbox Code Playgroud)

gle*_*man 2

一个 Perl 单行代码,为了可读性而拆分

perl -0777 -ne '
    (undef,@paragraphs) = split /^#(?=[^#])/m; 
    print map {"#$_"} sort @paragraphs;
' file.md
Run Code Online (Sandbox Code Playgroud)

您需要以空行结束文件,因此 之前有一个空行#B。或者你可以改为
map {"#$_"}强制map {"#$_\n"} 插入一个。