[Shell] Sélection de la n-ième chaine
Résolu/Fermé
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
-
3 mai 2007 à 14:19
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 3 mai 2007 à 15:52
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 - 3 mai 2007 à 15:52
A voir également:
- [Shell] Sélection de la n-ième chaine
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Classic shell windows 11 - Télécharger - Personnalisation
- Chaine radio - Télécharger - Médias et Actualité
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
3 mai 2007 à 14:33
3 mai 2007 à 14:33
Salut,
J'ai du mal à comprendre ce que tu veux exactement !
D'abord tu parles de "récupérer un élément de la n-ième occurrence d'une chaine de caractère", puis ensuite d'après ce que je comprend, tu veux récupérer chaque ligne (enfin chaque champ $4) dans une variable...
Peux-tu m'éclairer ? Merci.
J'ai du mal à comprendre ce que tu veux exactement !
D'abord tu parles de "récupérer un élément de la n-ième occurrence d'une chaine de caractère", puis ensuite d'après ce que je comprend, tu veux récupérer chaque ligne (enfin chaque champ $4) dans une variable...
Peux-tu m'éclairer ? Merci.
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
3 mai 2007 à 14:49
3 mai 2007 à 14:49
Salut,
En fait tout part d'une procédure stockée crée en Sybase et qui appelle mon shell.
Ce dernier prend en paramètre un nom de fichier pour lequel il va réaliser un traitement.
J'aimerais pouvoir modifier mon shell de facon a lui ajouter un paramètre de rang qui me permettra de continuer à récupérer le 4eme champ du second paramètre
Voilou
Merci
En fait tout part d'une procédure stockée crée en Sybase et qui appelle mon shell.
Ce dernier prend en paramètre un nom de fichier pour lequel il va réaliser un traitement.
$ myShell.ksh myFile.txtCe shell recherche dans le fichier, le 4eme champ de la (ou des) ligne contenant le mot bcp.
J'aimerais pouvoir modifier mon shell de facon a lui ajouter un paramètre de rang qui me permettra de continuer à récupérer le 4eme champ du second paramètre
$ myShell.ksh myFile.txt 3Doit me donner le 4eme champs de la 3eme ligne contenant bcp.
Voilou
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
3 mai 2007 à 14:59
3 mai 2007 à 14:59
En reprenant ta syntaxe :
Edit : J'ai trouvé :
inputFile=`grep bcp $currv/batchMngt/batches/$1 | awk '{print $4}' | sed -n ''$2'p'`Peut être qu'une solution existe avec awk (ce qui serait plus simple), mais là je ne l'ai pas...
Edit : J'ai trouvé :
inputFile=`grep bcp $currv/batchMngt/batches/$1 | awk 'NR=='$2'{print $4}'` -- Z'@+...che.<code>JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé.
dubcek
Messages postés
18753
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
5 619
3 mai 2007 à 15:16
3 mai 2007 à 15:16
grep | awk, quel gachis de resources :-))
inputFile=` awk 'NR=='$2' && /bcp/ {print $4}' $currv/batchMngt/batches/$1`
inputFile=` awk 'NR=='$2' && /bcp/ {print $4}' $currv/batchMngt/batches/$1`
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
3 mai 2007 à 15:19
3 mai 2007 à 15:19
Ben si on peut plus ce faire plaisir aussi ;-)))
Bien joué ;-)
Bien joué ;-)
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
3 mai 2007 à 15:33
3 mai 2007 à 15:33
Merci dubcek mais...
:-\\
$ awk 'NR=='$2' && /bcp/ {print $4}' test.txt awk: syntax error near line 1 awk: bailing out near line 1 $Ou encore
$ set InputFile=`awk 'NR=='$2' && /bcp/ {print $4}' test.txt` awk: syntax error near line 1 awk: bailing out near line 1 $J'ai également essayé avec nawk .
$ nawk 'NR=='$2' && /bcp/ {print $4}' test.txt nawk: syntax error at source line 1 context is NR== >>> && <<< nawk: bailing out at source line 1 $
:-\\
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
3 mai 2007 à 15:38
3 mai 2007 à 15:38
dubcek
Messages postés
18753
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
5 619
3 mai 2007 à 15:52
3 mai 2007 à 15:52
J'ai trop vu de cat | grep | grep | awk .. j'en souffre encore :-)(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
3 mai 2007 à 15:22
3 mai 2007 à 15:22
Re- Jipicy
Ca ne filtre pas :-///
$ cat test.txt bcp secondChamp troisiemeChamp quatriemeChamp bcp secondChamp troisiemeChamp quatriemeChamp2 bcp secondChamp troisiemeChamp quatriemeChamp3 $
$ grep bcp test.txt | awk '{print $4}' quatriemeChamp quatriemeChamp2 quatriemeChamp3 $
$ grep bcp test.txt | awk '{print $4}' | sed -n ''$2'p' quatriemeChamp quatriemeChamp2 quatriemeChamp3
Ca ne filtre pas :-///
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
3 mai 2007 à 15:27
3 mai 2007 à 15:27
Ben c'est normal, le paramètre "$2" n'est pas défini ;-))
jp@MDK:~/tmpfs ssh$ set 1 2 jp@MDK:~/tmpfs ssh$ grep bcp bar.txt | awk '{print $4}' | sed -n ''$2'p' quatriemeChamp2 jp@MDK:~/tmpfs ssh$ grep bcp bar.txt | awk '{print $4}' | sed -n ''$1'p' quatriemeChamp jp@MDK:~/tmpfs ssh$;-)
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
2
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
3 mai 2007 à 15:39
3 mai 2007 à 15:39
Wahh,
j'suis une vraie buse...
Merci jipicy ;-)
j'suis une vraie buse...
Merci jipicy ;-)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
>
Trezeg
Messages postés
73
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
24 novembre 2010
3 mai 2007 à 15:43
3 mai 2007 à 15:43
Change de pseudo alors ;-DDD
;-)
;-)