我目前正在使用这个 one-liner 来获取docker-compose
.
curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | grep "tag_name" | sed -E 's/.*"([^"]+)".*/\1/'
这不是我的代码。我复制并粘贴了它,它奏效了,我想了解更多。具体来说,我对sed
命令很感兴趣。谁能帮助我更好地理解它?
sed -E 's/.*"([^"]+)".*/\1/'
基本上我不理解任何字符串。我单独知道这些项目(.*
= 任何一个或多个字符,[^"]
= 接受任何不是"
)。但是当它以这种方式编写时,我不确定它是如何工作的。
没有sed
命令的命令输出:"tag_name": "1.22.0",
使用sed
命令输出命令:1.22.0