Je dois rechercher une valeur dans un fichier avec ce format:
key1=value1 key2=value2
Note: la valeur peut avoir des espaces.
Je dois obtenir la valeur de la clé avec un script shell.
J’ai ce code:
myfile="./app.properties" keyToSearch="EXAMPLE" value="" if [ -f "$myfile" ] then echo "$myfile found." #Search the keyToSearch and obtain the value. else echo "$myfile not found." fi
Comment puis-je rechercher la clé et obtenir la valeur? Par exemple avec un while / do ou similaire.
Merci!
VAL=$(grep "$keyToSearch" "$myfile" | cut -d'=' -f2-)
Le "-f2-"
demande essentiellement toutes les données après le premier "="
.
Vérifiez ceci: cut (1) – page de manuel Linux
Dans ton cas:
myfile="./app.properties" keyToSearch="EXAMPLE" value="" if [ -f "$myfile" ] then # echo "$myfile found." # no noise on success #Search the keyToSearch and obtain the value. value="$(grep "$keyToSearch" "$myfile" | cut -d'=' -f2-)" else echo "$myfile not found." fi