我想将我的博客从 WordPress 移动到 Pelican,但我一直坚持使用自动脚本删除这些行?
[pro-player type="MP3"]http://domain/bla%20bla%20bla/a%20Lee%20yo%20-%20help.mp3[/pro-player]
[download id="79]
我试过使用:
sed -e 's/[pro-player type="[]*"]\([^[]*\).*/\1/p'
但没有运气。谢谢你的帮助。
如果您想过滤文件以仅获取 URL(我从您尝试的正则表达式中假设),您可以使用以下命令:
cat file.txt | perl -n -e 'print $1 if /\](.*?)\[/'
输出:
http://domain/bla%20bla%20bla/a%20Lee%20yo%20-%20help.mp3
在“sed”中,左括号引入了一个字符类,所以如果你想匹配它,你需要转义它:
sed -e 's/\[pro-player type=[^\]*]\([^\]]*\)/\1/p'
我还更改了“mp3”的匹配逻辑。
为了[...]
从文件中删除包含的行,请说:
sed '/^\[.*\]$/d' inputfile
这将删除以 开头[
和结尾的行]
。