Dilemme de la syntaxe Grep

J’essaie d’utiliser grep pour copier des lignes dans un fichier texte qui correspond à un certain modèle, mais je rencontre quelques problèmes … Je voudrais saisir les valeurs dans le conteneur “title =”.

Code:

 get_tmax=`grep '[0-9][0-9]°C' K0G7_ec_tmp` echo "${get_tmax}" > K0G7_ec_tmp2 

Contenu du fichier texte:

 

19

26

Vous pouvez utiliser grep -P avec match reset \K :

 grep -ioP 'title="\K[^"]+' K0G7_ec_tmp 19°C 26°C 

Soyez prudent lors de l’parsing du fichier HTML à l’aide des utilitaires shell grep / awk / sed, etc. Utilisez plutôt un parsingur HTML dédié pour ce travail.

grep est un raccourci pour g/re/p ce qui n’est pas exactement ce que vous essayez de faire, alors je regarderais sed pour cela:

 $ sed 's/.*title="\([^"]*\).*/\1/' file 19°C 26°C 

Cela fonctionnera avec n’importe quelle version sed sur n’importe quel système d’exploitation.