Bonjour,
J'ai un fichier contenant plusieurs lignes de ce type:
cours nom1prenom1 password idu nom1 nom2 prenom1 prenom2
Je lis le fichier avec:
cat fichier | while true ; do
read ligne
set -- $ligne
cours=$1
...
nom1=$5; nom2=$6; prenom1=$7; prenom2=$8
Sachant que nom2 et prenom2 peuvent ne rien contenir, comment peut-on attribuer ces 4 valeurs correctement ?
Par exemple, si il n'y a que nom1 et rien après, cela prend la valeur de début de ligne et me met un 0 à la fin (ca met un truc du style: nom1 cours0).
J'ai essayé en testant si nom2, prenom1, prenom2 était vide, ainsi que si ils avaient la valeur " ", mais cela ne semble pas marcher.
Ca fait vraiment un moment que je suis là-dessus, si quelqu'un pourrait m'aiguiller je serais vraiment soulagé :) merci
# Correction
Posté par heldwin75 . Évalué à 1.
nom="$nom1 $nom2 $prenom1 $prenom2"
/useradd -c "$nom" $login (je n'ai mis que l'essentiel)
et ca m'affiche: "nom1 cours0" dans la gestionnaire de compte Linux, si il n'y avait que nom1 d'entré dans le fichier.
# mauvais outil
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 2.
Sinon, quand un champ est vide, li y a quoi exactement ? les deux espaces qu'il y aurait du avoir autour du champ fantôme ?
[^] # Re: mauvais outil
Posté par heldwin75 . Évalué à 1.
Je ne pense pas que ce soit un espace normal, car il m'a créé un répertoire "cours_ 24", mais avec rm -fR cours\ 24, il ne le supprime pas.
Je vais regardé comment fonctionne gawk.
J'ai aussi essayé en partant de:
"cours";"nom1prenom1";"password";"idu";"nom1 nom2";"prenom1 prenom2"
J'arrive à mieux gérer les noms et prénoms, mais après passage de:
cat fichier | tr '"' ' ' | tr ";" " "
je reviens au même problème. Il me faudrait une étape intermédiaire pour extraire les valeurs en 2 fois... ;)
[^] # Re: mauvais outil
Posté par Calim' Héros (site web personnel) . Évalué à 2.
[^] # Re: mauvais outil
Posté par heldwin75 . Évalué à 1.
Je récupère bien les champs, mais je n'arrive pas à attribuer un des champs (comprenant plusieurs mots) à une variable (style nomcomplet=$5)
Je pense que ce doit être simple, mais je n'ai pas encore trouvé.
Avec gawk, j'ai fini par créer un script qui me générait le login et le mot de passe, mais je reviens au même problème qu'au début, à part que je m'approche un peu plus de ce que je voulais faire en commencant cette automatisation).
En tout cas, je vois qu'il me reste encore pas mal de choses à apprendre :)
[^] # Re: mauvais outil
Posté par Lol Zimmerli (site web personnel, Mastodon) . Évalué à 2.
Tu n'aurais pas oublié, ici en tout cas, le _ ?
rm -rf cours_\ 24
La gelée de coings est une chose à ne pas avaler de travers.
[^] # Re: mauvais outil
Posté par heldwin75 . Évalué à 1.
Sur windows, ca affiche un carré comme espace. peut-être simplement le LF (j'ai fait énormément de test, alors c'est possible que j'ai essayé de créé des comptes linux avec un fichier texte modifié sur windows...).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.