Sed只有一个班轮

时间:2017-10-23 22:27:22

标签: bash text sed

我需要使用 sed 来解析一些文字。我不能使用cut,因为在这种特殊情况下它会与Ansible产生一些语法。我希望只用sed实现这一目标。这是一行文字。

    "_ref": "record:host/ZG5zLmhvc3QkLl9kZWZhdWx0Lm5ldC5kdHZvcHMuYW5keXRlc3QwMg:pootest02.catt.net/Internal"

我需要在第三个“(引用)之后和第三个之前打印出所有内容:(冒号)。

我的预期结果应该是:

    record:host/ZG5zLmhvc3QkLl9kZWZhdWx0Lm5ldC5kdHZvcHMuYW5keXRlc3QwMg

非常感谢任何帮助或指示。

2 个答案:

答案 0 :(得分:1)

试试这个:

sed -r 's/^".*".*"(.*):.*/\1/'

但是如果它是像chepner这样的JSON在评论中说的话,那真的试试

答案 1 :(得分:0)

这就是最终工作得很漂亮:

sed -n -e 's#.*\(record:[^:]\+\):.*#\1#p'