我正在尝试在Bash中编写一行来获取给定URL的Content-Type(不编码)。这是我到目前为止所做的:
curl -Is http://www.google.com | sed -nr 's/^Content-Type: ([^;]*)/\1/Ip'
但是,这仍然是打印text/html; charset=ISO-8859-1
,而不仅仅是text/html
。在第一个分号后([^;]*)
不应该停止比赛吗?
答案 0 :(得分:3)
你想要的是:
curl -Is http://www.google.com | sed -nr 's/^Content-Type: ([^;]*).*/\1/Ip'
基本上在匹配组之后添加.*
,以便在text / html之后添加部分;不会输出。