如何通过shell优雅地解析Markdown中的URL?

时间:2017-08-02 13:57:01

标签: regex bash shell awk sed

我有这样的Markdown文字:

CONTENT_TYPE: 
CONTENT_TYPE: application/x-www-form-urlencoded
Array ( ) array(0) { }

我想输出这样的每个链接:

this is a [sample1](http://sample1.com/) link.
this is a [sample2](http://sample2.com/) link.
this is a [sample3](http://sample3.com/) link.
...

但我的代码非常混乱(使用sample1 http://sample1.com sample2 http://sample2.com sample3 http://sample3.com grepsed和一些管道... ...

如何优雅地做到这一点?

2 个答案:

答案 0 :(得分:1)

 sed -rn 's@^.*\[(.*)\]\((.*)/.*$@\1 \2@p'

使用@作为sed分隔符,关注括号中的数据并使用\ 1和\ 2打印它们

答案 1 :(得分:0)

试试这个

(.*\[)(.*)(\]\()(http:.+)(\/\) link)

See it here