面试单位笔试部分有一道sed题,这题直到现在还在懵圈中。求大师们给指点,题如下:
原始文档:
## 企业介绍
XXX企业是...
## 企业文化企业文化...企业沙龙:[资源图片1](https://www.abcde.com/test1.png)
![资源图片2](http://www.abcde.com/test2.jpg)[资源数据1](https://www.abcde.com/test1.tar.gz)
![资源数据2](https://www.abced.com/test2.tar.gz)
## 提示语1.首先...
1.然后...
1.最后...要求:
1、以fix_format.sed 脚本形式实现
2、段落之间需有空行,连续多个空行只保留一个
3、所有链接地址都需要使用https协议
4、列表项开头数字跟文字之间需要有空格
5、所有图片链接前面都要有 ! 号,图片格式仅考虑 jpg 和 png 两种,所有非图片链接前面都不能有!号思路如下,并附上当时写入的答案:
问题2:删除全篇空格 =》每行之间加入一个空行  问题3: 全局替换http:/https:   问题4:匹配到.号之后加入空格
#!/bin/sed -f
/^$/d;G
s/http:/https:/g
s/^1\./& /g现在的两个问题
1、问题2的解决方式导致列表项之间出现空行,使用n1,n2{/^$/d}虽然可以解决问题,但这只是个投机的方式。而且写入sed中无法执行
2、最难的就属问题5,现在暂时只能想到如何对整个链接进行匹配,到了判断并替换的这一步思维就断了。
匹配如下:判断出jpg和png的链接
^(!\[).*\]\(.*.\jpg|png\)