1

我想将我的博客从 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' 

但没有运气。谢谢你的帮助。

4

3 回答 3

0

如果您想过滤文件以仅获取 URL(我从您尝试的正则表达式中假设),您可以使用以下命令:

cat file.txt | perl -n -e 'print $1 if /\](.*?)\[/'

输出:

http://domain/bla%20bla%20bla/a%20Lee%20yo%20-%20help.mp3
于 2013-09-09T07:30:02.363 回答
0

在“sed”中,左括号引入了一个字符类,所以如果你想匹配它,你需要转义它:

sed -e 's/\[pro-player type=[^\]*]\([^\]]*\)/\1/p'

我还更改了“mp3”的匹配逻辑。

于 2013-09-09T07:31:23.933 回答
0

为了[...]从文件中删除包含的行,请说:

sed '/^\[.*\]$/d' inputfile

这将删除以 开头[和结尾的行]

于 2013-09-09T07:48:37.477 回答