Chaine de caractere et espace

Résolu/Fermé
Reman - 9 oct. 2006 à 22:35
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 - 9 janv. 2008 à 16:08
Bonjour je maitrise pas le shell et je bute sur un probleme :

j'ai le resultat d'une commande que je place dans un fichier
> repquota -auv |grep toto |grep + > test

cela me retourne une ligne du style
toto 17000 15000 30000

cette ligne correspond dans l'ordre : à l'utilisateur, blocks sur le disque, soft et hard limite
Je voudrais recuperer separemment chaque champ.
J'avais penser le faire avec cut mais il n'y a pas de separateur, les champs sont separés par un nombre d'espace variable.

Comment faire pour récuperer chaque champ dans des variables afin de pouvoir faire des traitements ??

Merci beaucoup de vos réponses. :)
A voir également:

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 895
9 oct. 2006 à 23:00
Salut,

Regarde du côté de "awk" dans un 1er temps, éventuellement intéresses-toi à "Perl" par la suite :
echo "toto     17000 15000   30000" | awk '{ print $2,$1,$4,$3 }'

17000 toto 30000 15000

echo "toto     17000 15000                    30000" | awk '{ print $2,$1,$4,$3 }'

17000 toto 30000 15000
;-))
0
Re,

Merci pour ta réponse, je teste tout ca, et je poste pour fermer le sujet :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 oct. 2006 à 18:12
Salut,

Comment faire pour récuperer chaque champ dans des variables afin de pouvoir faire des traitements ??


Si tu nous dit quels traitements tu veux faire peut être tu auras une solution adéquate que ça soit en shell, python (par politesse - pour les personnes concernées:-)), perl ou un autre langage script.

lami20j
0
Re,

Merci pour vos reponses.

Finalement j'ai réussi a faire mon script (en shell). Le but etait de recuperer le quota de chaque utilisateur, de verifier le depassement ou non, et selon formater un message d'avertissement avec les conseils pour liberer de l'espace.

Le message ainsi formaté est envoyé à l'utilisateur par son logon script (on utilise samba sur notre intranet ) grace à un petit utilitaire window (PopUp.exe) qui affiche un message.

Tout fonctionne parfaitement.

Je posterais le script si ca interresse qq. Il est niveau débutant, à améliorer surement mais il marche. :))

Merci pour votre aide :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
specimen35 Messages postés 343 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 16 août 2011 17
9 janv. 2008 à 16:08
oui pourrait tu envoyer ton script
0