Affichage des champ

Résolu
alibm Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
J'ai ce script qui affiche les informations qui sont reparti dans des champs dans un fichier (voir exemple)

# fichier data
George:olivier:29:0298333242:Brest
Brain:marcel:13:0466342233:Gardagnes
Fares:myriam:30:0434214452:Nimes

# affichage
nom George
olivier
29
0298333242
Brest
....

Ce script n'affiche pas les mots " prénom, age, id, adresse"
Aussi comment faire pour afficher tou ses informations sur le meme ligne :(

nom George prénom Olivier Age 29 Id 0298333242 Adresse Brest

j'ai essayé avec -n mais ça ne marche pas :(

{code}

#!/bin/bash
while read line ;
do
echo nom "$line" | cut -d":" -f1
echo prenom "$line" | cut -d":" -f2
echo age "$line" | cut -d":" -f3
echo Id"$line" | cut -d":" -f4
echo adresse"$line" | cut -d":" -f5 ; done < data



Merci beaucoup :/

5 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
$ cat fichier
George:olivier:29:0298333242:Brest
Brain:marcel:13:0466342233:Gardagnes
Fares:myriam:30:0434214452:Nimes
$ awk 'BEGIN{FS=":"} {print "nom "$1 " prenom " $2 " Age " $3 " Id " $4 " Adresse " $5}' fichier
nom George prenom olivier Age 29 Id 0298333242 Adresse Brest
nom Brain prenom marcel Age 13 Id 0466342233 Adresse Gardagnes
nom Fares prenom myriam Age 30 Id 0434214452 Adresse Nimes

1
alibm Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   6
 
merci beaucoup
0
alibm Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut lami20j,
Mais je ne veux pas avec awk.
S'il y a une autre possibilité SVP la noter
Merci

0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

lami20j@debian:~/trash$ cat fichier
George:olivier:29:0298333242:Brest
Brain:marcel:13:0466342233:Gardagnes
Fares:myriam:30:0434214452:Nimes
lami20j@debian:~/trash$
lami20j@debian:~/trash$ cat fichier.sh
#!/bin/bash
while read line
do
  echo -e "nom $(echo $line      | cut -d: -f1)\c"
  echo -e " prenom $(echo $line  | cut -d: -f2)\c"
  echo -e " age $(echo $line     | cut -d: -f3)\c"
  echo -e " Id $(echo $line      | cut -d: -f4)\c"
  echo    " adresse $(echo $line | cut -d: -f5)"
done < fichier
lami20j@debian:~/trash$
lami20j@debian:~/trash$ sh fichier.sh
nom George prenom olivier age 29 Id 0298333242 adresse Brest
nom Brain prenom marcel age 13 Id 0466342233 adresse Gardagnes
nom Fares prenom myriam age 30 Id 0434214452 adresse Nimes
lami20j@debian:~/trash$
1
alibm Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   6
 
merci beaucoup

0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Sinon, pour alléger (sans les "cut") :
#! /bin/sh

#set -xv

while IFS=: read nom prenom age iden adresse
do
echo "nom $nom prenom $prenom age $age Id $iden adresse $adresse"
done < fichier
;-))
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Salut,

Oui j'avais vu, mais c'est surtout qu'il ne voulait pas de "awk", donc pas de programme externe au bash, là c'est juste avec les même commandes "while, do, read et echo" ;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Re,

donc pas de programme externe au bash,
cut c'est externe ;-)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Oui, et toi tu sors => ;-D
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
;-))

P.S. Ta solution est comme même la meilleur ;-DDD
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Mais je ne veux pas avec awk.
Ben, il faut le dire. Après le merci beaucoup que peut-on comprendre?! Que c'est résolu, non?!
0
alibm Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut lami20j,
J'ai donner dans la discussion bloquée un exemple avec la boucle for et cut
SVP est-ce que tu peux le voir une autre fois et merci pour l'aide :)



0

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

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Ben, t'as déjà dit un Merci beaucoup et ce n'était pas ce que tu voulais.
Je dois croire quoi, maintenant?!
0