[shell unix] utilisation de cat
Résolu
jebok
Messages postés
358
Date d'inscription
Statut
Membre
Dernière intervention
-
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un fichier du type :
nom prenom telephone
avec une tabulation entre chaque colonne.
je souhaite faire une commande du type : pour chaque ligne, écrire "nom - prenom : telephone"
Or, quand je fais
for ligne in `cat fichier` do ... done
il considère que chaque élément du tableau est une ligne...
Comment faire ?
merci
j'ai un fichier du type :
nom prenom telephone
avec une tabulation entre chaque colonne.
je souhaite faire une commande du type : pour chaque ligne, écrire "nom - prenom : telephone"
Or, quand je fais
for ligne in `cat fichier` do ... done
il considère que chaque élément du tableau est une ligne...
Comment faire ?
merci
A voir également:
- [shell unix] utilisation de cat
- Utilisation chromecast - Guide
- Classic shell - Télécharger - Personnalisation
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation - Forum Téléphones & tablettes Android
- Logiciel en Cours d'utilisation ? ✓ - Forum Logiciels
5 réponses
Salut,
Si tu as perl sur ton système tu peux essayer la commande
Toujours essaies sur une copie. Comme ça on ne risque pas de detruire le fichier original.
J'ai utilisé \d+ puisque je suppose que le format de telephone est de : 0123456789 (donc 10 chiffres).
Si autre format il faut le dire.
Si tu as perl sur ton système tu peux essayer la commande
perl -p -i -e 's#(\w+)\t(\w+)\t(\d+)#$1 - $2 : $3#g' copie_de_ton_fichier
Toujours essaies sur une copie. Comme ça on ne risque pas de detruire le fichier original.
J'ai utilisé \d+ puisque je suppose que le format de telephone est de : 0123456789 (donc 10 chiffres).
Si autre format il faut le dire.
Salut,
Tu peux aussi regarder du côté de "sed". Seul inconvénient tu devras passer par un fichier temporaire (ou supplémentaire). Remarque qu'avec "awk" aussi.
Donc en partant d'un fichier (fichier.txt) sous cette forme :
Tu peux aussi regarder du côté de "sed". Seul inconvénient tu devras passer par un fichier temporaire (ou supplémentaire). Remarque qu'avec "awk" aussi.
Donc en partant d'un fichier (fichier.txt) sous cette forme :
[jp@Mandrake tmpfs]$ cat fichier.txt nom prenom 0011223344 nom prenom 0011223344 nom prenom 0011223344 nom prenom 0011223344 nom prenom 0011223344Voilà ce que ça donne avec "sed" (la commande "tee" n'est là que pour afficher la sortie à l'écran en même temps qu'elle est envoyée dans un autre fichier "change.txt") :
[jp@Mandrake tmpfs]$ sed -e 's/\t/-/' -e 's/\t/ : /' < fichier.txt | tee change.txt nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344Et avec "awk" :
[jp@Mandrake tmpfs]$ cat fichier.txt | awk '{ print $1"-"$2" : "$3 }' | tee change.txt nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344 nom-prenom : 0011223344;-))
Bonjour,
int main(argc, **argv)
{
}
tu recupere le nom et le prenom avec des putstr
et tu fait un getnbr du numero de argv[3] comme ca tu le stoque dans un int au lieu que ce soir une chaine de char ^^
.
niveau debutant
int main(argc, **argv)
{
}
tu recupere le nom et le prenom avec des putstr
et tu fait un getnbr du numero de argv[3] comme ca tu le stoque dans un int au lieu que ce soir une chaine de char ^^
.
niveau debutant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question