Script pour modifier et supprimer des valeurs d'un fichier
ndoyestory
Messages postés
93
Statut
Membre
-
billx09 Messages postés 24 Statut Membre -
billx09 Messages postés 24 Statut Membre -
Bonjour,
J'aimerais créer un script en Shell me permettant de modifier et de supprimer des valeurs d'un fichier.
Fichier :
Nom=DUPOND
Prenom=Jacques
AGE=176
VILLE=NANTES
je suis débutant en linux et je sais pas comment y procéder.
Merci.
J'aimerais créer un script en Shell me permettant de modifier et de supprimer des valeurs d'un fichier.
Fichier :
Nom=DUPOND
Prenom=Jacques
AGE=176
VILLE=NANTES
je suis débutant en linux et je sais pas comment y procéder.
Merci.
A voir également:
- Script pour modifier et supprimer des valeurs d'un fichier
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Modifier dns - Guide
4 réponses
c'est ça l'énoncé :
Je veux créer un fichier Etudiant.dat
avec les colonnes matriculr nom personne adresse age
créer l'etudiant
modifier les info sur l'etudiant en connaissant son matricule
de supprimer les etudiants par rapport a son matricule
de lister l'ensemble des etudiants
(le:matricule de l'etudiant dans le fichier est unique)
Je veux créer un fichier Etudiant.dat
avec les colonnes matriculr nom personne adresse age
créer l'etudiant
modifier les info sur l'etudiant en connaissant son matricule
de supprimer les etudiants par rapport a son matricule
de lister l'ensemble des etudiants
(le:matricule de l'etudiant dans le fichier est unique)
Attends rassure-moi, le but ce n'est pas que je fasse ton exercice à ta place ? Là ce que tu t'apprêtes à me dire, c'est (je suppose) : voici ce que j'ai commencé à faire, il y a ceci qui me bloque ou qui ne marche pas comme je veux, qu'est ce que je peux faire ?
Ensuite tu parles de colonnes alors que si on regarde ton premier message on a l'impression que les attributs d'un étudiants sont écrits en ligne. Du coup sous quel format tu veux stocker les informations dans ton fichier ?
Bonne chance
Ensuite tu parles de colonnes alors que si on regarde ton premier message on a l'impression que les attributs d'un étudiants sont écrits en ligne. Du coup sous quel format tu veux stocker les informations dans ton fichier ?
Bonne chance
c'est là où j'en suis et je peux pas recuperer les entrés ni les modifier, ni les supprimer:
#!/bin/bash
echo "Veuillez saisir votre matricule"
read matricule
echo "Entrer Prenom"
read prenom
echo "Entrer nom"
read nom
echo "Entrer Adresse"
read adresse
echo "Entrer Age"
read age
echo "Etudiant1:"
echo Matricule: $matricule
echo Prenom: $prenom
echo Nom: $nom
echo Adresse: $adresse
echo Age: $age
#!/bin/bash
echo "Veuillez saisir votre matricule"
read matricule
echo "Entrer Prenom"
read prenom
echo "Entrer nom"
read nom
echo "Entrer Adresse"
read adresse
echo "Entrer Age"
read age
echo "Etudiant1:"
echo Matricule: $matricule
echo Prenom: $prenom
echo Nom: $nom
echo Adresse: $adresse
echo Age: $age
Je n'ai pas compris la question, comment doit se comporter le script ? Il doit demander à l'utilisateur quel champ modifier et quelle valeur lui affecter ? Peut-il y avoir plusieurs occurrences dans le fichier d'une "clé" (par exemple plusieurs lignes Noms, plusieurs lignes Prénoms etc...).
Tu peux d'ores et déjà regarder comment marche la commande sed, car c'est ce qui me paraît le plus approprié dans ton cas.
https://fr.wikipedia.org/wiki/Stream_Editor
Bonne chance
Tu peux d'ores et déjà regarder comment marche la commande sed, car c'est ce qui me paraît le plus approprié dans ton cas.
https://fr.wikipedia.org/wiki/Stream_Editor
Bonne chance
Pour un travail du genre, j'opterais plus pour le format csv, et la librairie csv de python :
https://docs.python.org/2/library/csv.html
Si tu préfères rester en bash, tu apprécieras certainement les commandes :
- cut : pour découper une ligne en fonction d'un délimiteur
- grep : pour rechercher une ligne (à partir d'un matricule par exemple)
Par exemple, ceci te donnera le premier champ de la ligne ayant le matricule $matricule, en assumant que tu utilises ":" pour séparer tes colonnes.
https://docs.python.org/2/library/csv.html
Si tu préfères rester en bash, tu apprécieras certainement les commandes :
- cut : pour découper une ligne en fonction d'un délimiteur
- grep : pour rechercher une ligne (à partir d'un matricule par exemple)
Par exemple, ceci te donnera le premier champ de la ligne ayant le matricule $matricule, en assumant que tu utilises ":" pour séparer tes colonnes.
grep $matricule etudiant.dat | cut -d ":" -f 1