Bonjour à tous
je débute dans shell et je dois faire un script qui répond au besoin suivant :
dans un même toto.txt j'ai des données provenant de different systèmes. je dois séparer ces données.
exemple : toto.txt contient les données des professeurs et des etudiants
je dois séparer les données des professeurs dans un fichier professeur.txt et etudiants dans un fichier etudiant s.txt
dans le fichier toto les données des professeurs sont identifier par une colonne PROF et le etudiants par une colonne ETUD
les données (corresondent à des collonnes dans une table )en sortie dansles fichiers professeur.txt, etudiants.txt doivent être délimiter par un séparateur ';'
merci pour votre aide
# Le plus simple
Posté par ✅ ffx . Évalué à 2.
grep -w PROF toto.txt > professeur.txt
et
grep -w ETUD toto.txt > etudiants.txt
[^] # Re: Le plus simple
Posté par zapa . Évalué à 1.
En effet c'est ce que j'ai fais mais le pb c'est que dans le fichier professeur il faut que les colonnes soient séparées par un séparateur ';' dans le fichier initial il n'ya pas de séparateur
j'ai la taille des enregistrements comment faire pour identifier les colonnes
[^] # Re: Le plus simple
Posté par ✅ ffx . Évalué à 1.
S'il n'y a vraiment aucun séparateur initialement mais des tailles fixes, le mieux est sûrement d'utiliser 'cut'.
[^] # Re: Le plus simple
Posté par zapa . Évalué à 1.
001PROMORELSTEPHANIE
002PROBRETONCYRIL
003ETUTHAISPIERRE
004PRODELACOURNICOLAS
005ETUMOULLARTNINA
...
dans un fichier descriptif on a des infos sur la taille des enregistrements
1à 4 Code
5 à 7 Statut
8 à 17 Nom
18 à 28 Prenom
le fichier professeur doit être :
001;PRO;MOREL;STEPHANIE
002;PRO;BRETON;CYRIL
004;PRO;DELACOUR;NICOLAS
celui des etudiants :
003;ETU;THAIS;PIERRE
005;ETU;MOULLART;NINA
Merci
[^] # Re: Le plus simple
Posté par ✅ ffx . Évalué à 1.
par exemple
001PROMORELSTEPHANIE
donne
Code=001P (1 à 4)
Statut=ROM (5 à 7)
Nom=ORELSTEPHA (8 à 17)
Prenom=NIE (18 à la fin)
À part ca, comme dit plus haut, il est possible d'utiliser la commande cut :
cut -c 8-17
donnera par exemple le nom.
Pour la sortie il suffit d'écrire quelque chose du genre:
echo $code\;$statut \;$nom\;$prenom
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.