Script Shell : Extraire une variable par cut

Résolu
antoinebe Messages postés 10 Statut Membre -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour Messieurs Dames :)

Je viens à vous pour une question un peu technique ^^
Et d'autant plus pour moi qui suis plus bidouilleur que codeur ^^'

J'aimerais créer une variable à partir d'une extraction, pour ce faire je passe par cut, mais l'enchainement dans mon script pose problème.

Je n'arrive pas à bien utiliser le echo et le délimiter de cut en guillemet ""

Ma donnée à extraire étant "monfichier"=>
<?xml version="1.0" encoding="utf-16" standalone="yes"?> <values> <add key="bla" value="azerty"/> </values>


En 10ème délimiter guillemet donc.

Mon cut passe bien avec cette commande, bien que je doute sur ma manière d'échapper les guillemets :
#cut -d '"' -f10 monfichier
#azerty

Cependant quand je souhaite l'utiliser avec un echo puis un cat, j'imprime la commande et non la donnée à extraire.

echo cut -d '"' -f10 monfichier >> test 
cat test


J'aime même essayé en awk d'après mes recherches internet

echo awk -F\" 'NR==2{print $10}' monfichier >> test 
cat test


Mais mon fichier test contient toujours désespérément la commande employée et non la donnée à extraire :(


Au final j'aimerais donc simplement extraire la donnée d'une première variable afin de la déclarer comme étant elle même une variable.
Tout ce ci directement dans le script, ou à défaut dans des fichiers que je créerais / supprimerais par le script.




A voir également:

2 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
C'est une syntaxe EQUIVALENTE sous bash, bien plus lisible que ces infâmes backquotes.
(d'autant plus que je suis mal voyant :(


D'autre part, ta manière de traiter est petit peu pourrie.
Utilise xslt et un processeur XSLT comme xalan
Voir
https://haypo.developpez.com/tutoriel/xml/xslt/

Johan Daine
0
periplasme Messages postés 422 Statut Membre 53
 
il faut mettre des back-quote (atl GR + 7) autour de la commande cut à executer
echo cut -d '"' -f10 monfichier >> test 

devient
echo 'cut -d '"' -f10 monfichier' >> test 
-1
periplasme Messages postés 422 Statut Membre 53
 
attention ne fais pas un copier-coller, le site à transformé mes back-quote en simple-quote ...
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

Les back-quotes c'est périmé ;-))

echo $(cut -d '"' -f10 monfichier) >> test 
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Ou plus simplement :

var="$(cut -d '"' -f10 monfichier)"

;-))
0
periplasme Messages postés 422 Statut Membre 53
 
merde, faut que je me mette à jour ... depuis quand les back quote ont été "remplacé" ?
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
je dirais depuis l'existence du Korn shell, ksh
0