En sortant TITRE=« ${TITRE%% *} » et réaffectant la variable TITRE à une autre j’obtiens bien le résultat attendu
Je ne comprend pas pourquoi !
TITRE=${URL_WEB}
# Affectation de la valeur TITRE
TITRE="${TITRE#*TITRE=}"
#TITRE="${TITRE%% *}"
TITRE="$(echo "${TITRE}" | head -n 1)"
TitreTEST=${TITRE}
Une page HTML me renvoie plein de valeur du type :
DONNEE1=xyz
DONNEE2=1234
TITRE=azerty
Avec Bash je récupère le contenu de la page html avec w3m que je stocke dans la variable RECUP_WEB
RECUP_WEB=$(/usr/bin/w3m -dump http://monurl/mapage.php)
TITRE=${RECUP_WEB}
DONNEE1=${RECUP_WEB}
# Affectation de la valeur TITRE
TITRE="${TITRE#*TITRE=}"
TITRE="${TITRE%% *}"
TITRE="$(echo "${TITRE}" | head -n 1)"
# Affectation de la valeur DONNEE1
DONNEE1="${DONNEE1#*DONNEE1=}"
DONNEE1="${DONNEE1%% *}"
DONNEE1="$(echo "${DONNEE1}" | head -n 1)"
Est-ce que cela aide un peu plus à comprendre le problème?
Tu veux enlever les espaces en fin de valeur ?
Tu ne peux pas avec la méthode que tu utilise car ce n’est pas une expression régulière mais une expansion de chemin qui est utilisée.
Je suis bien en peine je ne peux pas te proposer plus simple que :
Je dois être à coté de mes pompes, ne pas avoir les yeux en face des trous. On va faire autrement :
[code]TITRE=${URL_WEB}
Affectation de la valeur TITRE
TITRE="${TITRE#*TITRE=}“
TITRE=”$(echo “${TITRE}” | head -n 1)"
TitreTEST=${TITRE}
echo “#${TitreTEST}#”[/code]
T’affiche quoi ?
En quoi cela pose un problème ?
Qu’est ce que tu voudrais obtenir ?
@haleth
Non cela ne change rien quand j’utilise TITRE="${TITRE%% *}"
@MisterFreez
Entre temps j’ai réécrit un truc similaire a ton code, par contre quelqu’un peut il m’expliquer vraiment l’utilité et la fonction du TITRE="${TITRE%% *}"
Oui je pense aussi comme toi…
Etant donné que j’avais le problème qu’après l’espace le texte suivant n’était pas récupéré, j’en déduis aussi que cela permet de récupérer le premier mot…