Script shell
Fermé
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
-
21 janv. 2010 à 15:10
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 22 janv. 2010 à 09:00
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 22 janv. 2010 à 09:00
A voir également:
- Script shell
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
13 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
21 janv. 2010 à 16:32
21 janv. 2010 à 16:32
;-))
man bash (Remplacement des paramètres) :
man bash (Remplacement des paramètres) :
${#paramètre} Est remplacé par la longueur, en caractères, de la valeur du paramètre. Si le paramètre est * ou @, la valeur est le nombre de paramètres positionnels. Si le paramètre est un nom de tableau indexé par * ou @, la valeur est le nombre d'éléments dans le tableau. ${paramètre#mot} ${paramètre##mot} Le mot est développé pour fournir un motif, comme dans l'expansion des noms de fichiers. Si le motif correspond au début de la valeur du paramètre, alors le développement prend la valeur du paramètre après suppression du plus petit motif commun (cas ``#''), ou du plus long motif (cas ``##''). Si le paramètre est @ ou *, l'opération de suppression de motif est appliquée à chaque paramètre positionnel successivement, et le développement donne la liste finale. Si le paramètre est une variable tableau indexée par @ ou *, l'opération de suppression de motif est appliquée à chaque membre du tableau successivement, et le développement donne la liste finale. ${paramètre%mot} ${paramètre%%mot} est développé pour fournir un motif, comme dans l'expansion des noms de fichiers. Si le motif correspond à une portion finale de la valeur du paramètre, alors le développement prend la valeur du paramètre après suppression du plus petit motif commun (cas ``%''), ou du plus long motif (cas ``%%''). Si le paramètre est @ ou *, l'opération de suppression de motif est appliquée à chaque paramètre positionnel successivement, et le développement donne la liste finale. Si le paramètre est une variable tableau indexée par @ ou *, l'opération de suppression de motif est appliquée à chaque membre du tableau successivement, et le développement donne la liste finale. ${paramètre/motif/chaîne} ${paramètre//motif/chaîne} Le motif est développé comme dans le traitement des noms de fichiers. Le paramètre est développé et la plus longue portion correspondant au motif est remplacée par la chaîneg. Dans la première forme, seule la première correspondance est remplacée, dans la seconde toutes les portions correspondant au motif sont remplacées par la chaîne. Si le motif commence par #, il doit correspondre au début de la valeur développée du paramètre. Si le motif commence par %, il doit correspondre à la fin du développement du paramètre. Si la chaîne est nulle, les portions correspondant au motif sont supprimées et le / après le motif peut être omis. Si le paramètre est @ ou *, l'opération de substitution est appliquée à chacun des paramètres positionnels successivement, et le résultat est la liste finale. Si le paramètre est une variable tableau indexée par @ ou *, l'opération de substitution s'applique à chaque membre du tableau successivement, et le résultat est la liste finale.
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
21 janv. 2010 à 22:02
21 janv. 2010 à 22:02
[tmpfs]$ cat plop toto tata yoyo titi popo papa tagada tsointsoin [tmpfs]$ awk '$1 ~ /.*o.*/ { print $2 }' plop tata titi papa [tmpfs]$
;-))
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 15:31
21 janv. 2010 à 15:31
je vais détailler un peu plus c'est vrai que c'est flou ce que je dis
en gros je voudrais ça
$toto="tagada tsointsoin"
couper "tagada " de $toto stocker "tsointsoin" dans $tata par exemple et ensuite
echo $tata m'affiche "tsointsoin"
sachant que "tagada" est dans $stock
j'essai avec cut mais je sais pas ça me met des erreurs dans tout les sens u_u
si quelqu'un peu m'aider mici
en gros je voudrais ça
$toto="tagada tsointsoin"
couper "tagada " de $toto stocker "tsointsoin" dans $tata par exemple et ensuite
echo $tata m'affiche "tsointsoin"
sachant que "tagada" est dans $stock
j'essai avec cut mais je sais pas ça me met des erreurs dans tout les sens u_u
si quelqu'un peu m'aider mici
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
21 janv. 2010 à 15:54
21 janv. 2010 à 15:54
hello
en shell, il n'y a pas de $ devant la variable quand on l'assigne
en shell, il n'y a pas de $ devant la variable quand on l'assigne
$ toto="tagada tsointsoin" $ $ echo $toto|cut -d " " -f 2 tsointsoin $ $ tata=$(echo $toto|cut -d " " -f 2) $ echo $tata tsointsoin $ $
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 16:11
21 janv. 2010 à 16:11
a ba j'ai fait ça avec un cut et un grep enfin les deux fonctionne merci :).
parcontre en imaginant que j'ai
"tagada tsointsoin
pouet tsointsoin
omg tsointsoin"
exemple bidon mais je me pose la question comme ça
comment je peux faire pour afficher sur la sortie via ce que je demandais précedement
"tagada
pouet
omg"
et non pas
"tagada pouet omg"
si quelqu'un sait mici
parcontre en imaginant que j'ai
"tagada tsointsoin
pouet tsointsoin
omg tsointsoin"
exemple bidon mais je me pose la question comme ça
comment je peux faire pour afficher sur la sortie via ce que je demandais précedement
"tagada
pouet
omg"
et non pas
"tagada pouet omg"
si quelqu'un sait mici
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
21 janv. 2010 à 16:20
21 janv. 2010 à 16:20
Salut,
;-))
jp@MDK:~/tmpfs ssh$ echo ${var} tagada tsointsoin jp@MDK:~/tmpfs ssh$ echo ${var% *} tagada jp@MDK:~/tmpfs ssh$ echo ${var#* } tsointsoin jp@MDK:~/tmpfs ssh$
;-))
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 16:23
21 janv. 2010 à 16:23
merci jipicy mais j'ai rien compris :p
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 16:29
21 janv. 2010 à 16:29
a ba j'ai trouver avec tr -s ' ' '\n' c'était tout bete en faite mici
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 16:35
21 janv. 2010 à 16:35
mici
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 21:57
21 janv. 2010 à 21:57
merci de l'aide maintenant j'ai un nouveau problème car je n'arrive a rien la je vais détailler ce sera plus simple
j'ai un dossier 'file' dedans j'ai
toto tata
yoyo titi
popo papa
tagada tsointsoin
je veux afficher sur le sortir standard tata titi papa juste en faisant une recherche sur 'o'
en gros je fais
cut -d " " -f1 file | grep o
ça me donne
toto
yoyo
popo
mais ce que je veux obtenir est
tata
titi
papa
voila donc si quelqu'un peu m'aider merci :).
j'ai un dossier 'file' dedans j'ai
toto tata
yoyo titi
popo papa
tagada tsointsoin
je veux afficher sur le sortir standard tata titi papa juste en faisant une recherche sur 'o'
en gros je fais
cut -d " " -f1 file | grep o
ça me donne
toto
yoyo
popo
mais ce que je veux obtenir est
tata
titi
papa
voila donc si quelqu'un peu m'aider merci :).
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 22:11
21 janv. 2010 à 22:11
merci beaucoup
pounz
Messages postés
14
Date d'inscription
jeudi 21 janvier 2010
Statut
Membre
Dernière intervention
9 février 2010
21 janv. 2010 à 22:14
21 janv. 2010 à 22:14
hmm et sans utiliser awk car il ce trouve que je n'ai pas le droit de l'utiliser ( et ba oui c'est pour un proj :p )
awk d'après le man ça fait un peu trop le café dommage
awk d'après le man ça fait un peu trop le café dommage
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
22 janv. 2010 à 09:00
22 janv. 2010 à 09:00
sans awk
$ cat a1 toto tata yoyo titi popo papa tagada tsointsoin $ $ cut -d " " -f 1 a1 | grep o|xargs -i grep {} a1|cut -d " " -f 2 tata titi papa $