Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2994 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Bash: cut/sed?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Bash: cut/sed?

n°1249607
69x
Posté le 12-11-2010 à 10:09:59  profilanswer
 

Salut à tous,  
 
Voilà maintenant 15 min que je cherche comment faire pour que à partir d'une variable contenant une chaine de caractère (de taille variable), je puisse récupéré seulement une partie de cette chaine.
 
Ex: chaine1=$(who)
     
Et j'aimerais récupérer seulement ce qui est entre parenthèses (sans les parenthèse)
J'ai essayé avec cut, mais la taille étant variable, ça ne marche pas
Et sed, est assez compliqué, et ne réponds pas à mes attentes


Message édité par 69x le 12-11-2010 à 10:11:29
mood
Publicité
Posté le 12-11-2010 à 10:09:59  profilanswer
 

n°1249612
Fork Bomb
Obsédé textuel
Posté le 12-11-2010 à 10:27:07  profilanswer
 

Je ne comprends pas ce que tu cherches à faire…
chaine1=$(who)
echo $chaine1
renvoie une chaine. C’est cette chaine que tu veux ?


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1249614
69x
Posté le 12-11-2010 à 10:29:37  profilanswer
 

oui je veux une chaine, qui contient seulement ce qu'il y a entre parenthèse du résultat de la commande who

n°1249616
Fork Bomb
Obsédé textuel
Posté le 12-11-2010 à 10:31:14  profilanswer
 

Bah, tu veux un echo, alors… [:airforceone]


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1249617
69x
Posté le 12-11-2010 à 10:36:11  profilanswer
 

69x@Netbook$ who
69x    pts/0         2010-11-12 09:41 (172:21:25...)
69x    :0             2010-11-12 09:41  
 
69x@Netbook$ qui=$(who)
#donc ma var qui contient "69x        :0         2010-11-12 09:41 (172:21:25...) 69x    :0             2010-11-12 09:41"
Et j'aimerais seulement ce qu'il y a entre parenthèse (et le stocker dans une variable)
Donc var=$(echo $qui | #Et là je bloque...

n°1249629
roondar
Posté le 12-11-2010 à 11:33:54  profilanswer
 

who|sed -r 's#^.*\((.*)\).*$#\1#'

Message cité 1 fois
Message édité par roondar le 12-11-2010 à 11:39:27
n°1249776
69x
Posté le 13-11-2010 à 17:41:03  profilanswer
 

Merci :) Je vais tester si ça marche

n°1251142
twocats
Posté le 19-11-2010 à 22:28:28  profilanswer
 

who | awk '(NR==1) {print $5}'

n°1257387
Nicolas_83
Posté le 22-12-2010 à 18:55:33  profilanswer
 

roondar a écrit :

who|sed -r 's#^.*\((.*)\).*$#\1#'


 
Bonjour,
 
elle est sympa cette commande y aurait-il un moyen d'avoir une explication sur son fonctionnement ??
Je ne suis plus vraiment un bleu en script shell mais étant autodidacte je découvre encore pas mal de chose, notamment la commande SED est assez complexe et j'ai du mal avec celle-ci -_-.
 
Merci.

n°1257420
roondar
Posté le 22-12-2010 à 21:31:18  profilanswer
 

c'est une expression régulière qui va capturer tout ce qu'il trouve entre les parenthèses, et qui supprime le reste.
Plus d'explications ici , http://www.commentcamarche.net/faq [...] s-arrieres


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script Bash: cut/sed?

 

Sujets relatifs
Script Bash : Gestion des erreursProblème d'exécution script bash
script shell bash[bash] Vérifier la version des outils dans un script
script bash pour ftpscript bash et setuid
Script bash : exécution de plusieurs scriptsPetit script bash [resolu]
Plus de sujets relatifs à : Script Bash: cut/sed?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR