Script Shell : Extraire une variable par cut

Résolu
antoinebe Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   -
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 3645 Date d'inscription   Statut Modérateur Dernière intervention   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 391 Date d'inscription   Statut Membre Dernière intervention   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 391 Date d'inscription   Statut Membre Dernière intervention   53
 
attention ne fais pas un copier-coller, le site à transformé mes back-quote en simple-quote ...
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

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

echo $(cut -d '"' -f10 monfichier) >> test 
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Ou plus simplement :

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

;-))
0
periplasme Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   53
 
merde, faut que je me mette à jour ... depuis quand les back quote ont été "remplacé" ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
je dirais depuis l'existence du Korn shell, ksh
0