Problème d'alias
Fermé
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
-
24 déc. 2014 à 15:44
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 30 avril 2015 à 17:06
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 30 avril 2015 à 17:06
A voir également:
- Pierre a créé un raccourci (alias ou lien) du fichier sommaire sur son bureau. quel est le numéro de l'icône correspondant à ce raccourci ?
- Raccourci word - Guide
- Creer un raccourci clavier - Guide
- Créer un lien pour partager des photos - Guide
- Raccourci retourner écran - Guide
- Icone raccourci bureau - Guide
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
24 déc. 2014 à 15:52
24 déc. 2014 à 15:52
Salut,
awk -F">" '{print $2}'|awk -F"<" 'print $1'Et d'un apparemment il n'y a pas de source d'entrée (fichier) pour le 1er awk et dans le 2ème il manquerait les accolades, non ? ;-\
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
1 613
29 avril 2015 à 10:30
29 avril 2015 à 10:30
Avec les fonctions
le résultat est celui souhaité.
Je suis pas sur que ça sera aussi simple à utiliser qu'un alias, mais c'est déjà ça de pris.
UnXml()
{
echo $1 |awk -F ">" '{print $2}'|awk -F "<" '{print $1}'
}
UnXml `cat chemin/fichier.xml|grep Field` > /tmp/test.dna
cat /tmp/test.dna
le résultat est celui souhaité.
Je suis pas sur que ça sera aussi simple à utiliser qu'un alias, mais c'est déjà ça de pris.
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
1 613
Modifié par dna.factory le 29/04/2015 à 10:57
Modifié par dna.factory le 29/04/2015 à 10:57
Il me reste un petit soucis (rien d'insurmontable, on est dans l'ordre du cosmétique/réduction de code).
si je retourne directement mon résultat, pas de soucis pour utiliser la fonction,
par contre, si je veux le stocker dans une mémoire, j'y arrive pas vraiment
La méthode qui fonctionne :
Est quand même mieux que l'absence de fonction, mais ça me force à rajouter une ligne.
j'ai essayé, le
mais 'bizarrement', ça n'a mas marché
j'ai essayé avec des parenthèses
J'ai une erreur (substitution)
et des accolades
j'ai pas d'erreur, mais aucun affichage.
(idem pour apostrophes et guillemets, pas d'erreur, mais pas de retour)
si je retourne directement mon résultat, pas de soucis pour utiliser la fonction,
par contre, si je veux le stocker dans une mémoire, j'y arrive pas vraiment
La méthode qui fonctionne :
test2=`cat /chemin/fichier|grep Field`
test2=`UnXml $test2`
Est quand même mieux que l'absence de fonction, mais ça me force à rajouter une ligne.
j'ai essayé, le
test3=`UnXml `cat /chemin/fichier|grep Field``
mais 'bizarrement', ça n'a mas marché
j'ai essayé avec des parenthèses
`UnXml (commande)`
J'ai une erreur (substitution)
et des accolades
`UnXml { commande }`
j'ai pas d'erreur, mais aucun affichage.
(idem pour apostrophes et guillemets, pas d'erreur, mais pas de retour)
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
1 613
29 avril 2015 à 11:03
29 avril 2015 à 11:03
ho et le petit malin (oui, c'est de toi que je parle) qui me dit que :
Ca fait une seule ligne, j'y ai déjà pensé :)
test2=`cat /chemin/fichier|grep Field`;test2=`UnXml $test2`
Ca fait une seule ligne, j'y ai déjà pensé :)
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
>
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
30 avril 2015 à 14:25
30 avril 2015 à 14:25
hello
et comme ça
et comme ça
$ UnXml() { awk -F "[<>]" '{print $3}' <<<"$1" ; }
$ UnXml "$(cat fichier)"
dna.factory
Messages postés
25514
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
22 janvier 2025
1 613
30 avril 2015 à 16:53
30 avril 2015 à 16:53
F "[<>]"
J'ai bien compris ?
On peut mettre de la regex dans le -F ?
je savais qu'on pouvait mettre des chaines, mais j'avais pas pensé au regex...
C'est über puissant :)
(dans certains cas, je faisait du sed avant le awk pour remplacer certains caractères par d'autres et avoir un seul séparateur, finalement, j'avais pas besoin...)
J'ai bien compris ?
On peut mettre de la regex dans le -F ?
je savais qu'on pouvait mettre des chaines, mais j'avais pas pensé au regex...
C'est über puissant :)
(dans certains cas, je faisait du sed avant le awk pour remplacer certains caractères par d'autres et avoir un seul séparateur, finalement, j'avais pas besoin...)
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
Modifié par dubcek le 30/04/2015 à 17:09
Modifié par dubcek le 30/04/2015 à 17:09
oui, FS peut-être regex ou chaine de car.
http://www.gnu.org/software/gawk/manual/gawk.html#Field-Separators
http://www.gnu.org/software/gawk/manual/gawk.html#Field-Separators
24 déc. 2014 à 16:10
pour le manque de fichier source, c'est fait exprès, c'est le principe de l'alias.
une fois défini mon alias de la façon suivante
alias Unxml="awk -F">" '{print $2}'|awk -F"<" '{print $1}'"
en résumé :
grep Number fichier.xml (ou cat fichier.xml |grep Number)
<exportNumber>90</exportNumber>
grep Number fichier.xml|awk -F ">" '{print $2}'|awk -F "<" '{print $1}'
90
(y'a peut-être plus intelligent pour déparser, voir même avec des outils tout prêt, mais bon, ça marche et c'est moi qui l'ai fait :)).
J'aurais donc voulu pouvoir faire
grep Number fichier.xml|Unxml
Je l'ai fait avec le Query comme indique plus haut, et ça fonctionne, donc le principe est valable
alias Query = "psql -U compte|head -n-2|tail -n+3"
echo "requete"|Query
24 déc. 2014 à 16:26
Essaie comme ça :
24 déc. 2014 à 16:34
juste pour être sur que c'est pas une histoire d'espace, voila ce que j'avais tappé :
pas d'erreur, mais ça ne marche pas.
j'ai terminé ma journée, c'est noyel...
je reprendrais le dossier vendredi.
Après, comme je dit, c'est pas bloquant
24 déc. 2014 à 16:45
Alors essaie de créer une fonction plutôt qu'un alias...
24 déc. 2014 à 16:59