2 votes

la correspondance sed plus avide que prévu

J'essaie d'écrire une ligne en Bash qui obtient le Content-Type (sans encodage) d'une URL donnée. Voici ce que j'ai fait jusqu'à présent :

curl -Is http://www.google.com | sed -nr 's/^Content-Type: ([^;]*)/\1/Ip'

Cependant, il s'agit toujours d'une impression text/html; charset=ISO-8859-1 et pas seulement text/html . Ne devrait-on pas ([^;]*) arrêter la correspondance après le premier point-virgule ?

3voto

ziad-saab Points 3828

Ce que vous voulez, c'est :

curl -Is http://www.google.com | sed -nr 's/^Content-Type: ([^;]*).*/\1/Ip'

En gros, ajoutez un .* après le groupe correspondant afin que la partie après text/html ; ne soit pas éditée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X