Bonjour,
Je ne parviens pas à extraire, à partir d’un champ d’un fichier ‘livres’ les différents enregistrements selon la catégorie de livres souhaitée par la personne (j’ai déjà écrit la partie du script où il faut read la catégorie du livre souhaitée par une personne et j’ai déjà récupéré les données de chaque champ).
!!!Je ne dois pas utiliser de awk pour cet exercice qui se fait en bash… Merci à eux qui m’aideront
Par exemple j’ai ceci,
Et à la fin de mon script, je dois créer un fichier dans lequel :Nom1: Prénom1:TITRE1:2000:BD
Nom2: Prénom2:TITRE2:2001:ROMAN
Nom3: Prénom3:TITRE3:2002:SCIENCES
Nom4: Prénom4:TITRE4:2003:BD
Nom5: Prénom5:TITRE5:2004:ROMAN
Nom6: Prénom6:TITRE6:2004:SCIENCES
- la première ligne va m’indiquer la liste des auteurs (1re et 2e colonne) et titres de livres(3e colonne) de la catégorie (4e colonne)
- les lignes suivantes m’indiquent le nom de l'auteur(1re colonne) ainsi que le titre des livres de la catégorie sélectionnée(3e colonne) , séparés par un -
- la dernière ligne indique le nombre de livres trouvés
Voici ce que j’ai déjà essayé de faire (en m’imaginant pour ‘ROMAN’) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #créer le fichier reprenant titre liste de livres et nombres de livres extraits ISFold=$IFS IFS=':' while read nom prenom titre annee categorie do function creer_fichier { touch -p "/home/livres/$1" if grep -q "^$1:" /etc/group then ls -l | head -1 /home/user/livres | cut -d: -f1,4 /home/user/livres elif ls -l | tail -n+2 /home/user/livres | cut -d: -f1 "-" -f3 /home/user/livres else ls | wc -l | tail -1 /home/user/livres fi resultat=$(grep -l student/home/user/livres/*) } done < /home/user/livres done
Partager