Concaténer en shell
Résolu/Fermé
sebcah
-
7 mai 2008 à 16:53
sebcah Messages postés 2 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 mai 2008 - 12 mai 2008 à 11:27
sebcah Messages postés 2 Date d'inscription lundi 12 mai 2008 Statut Membre Dernière intervention 12 mai 2008 - 12 mai 2008 à 11:27
A voir également:
- Concaténer en shell
- Concaténer pdf - Guide
- Classic shell windows 10 français - Télécharger - Personnalisation
- Concatener deux cellules excel - Guide
- Startup.nsh shell ✓ - Forum Windows 10
- Concatener access - Forum Access
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
8 mai 2008 à 11:55
8 mai 2008 à 11:55
Salut,
Une autre solution à base de "sed" :
Une autre solution à base de "sed" :
[tmpfs]$ cat data.txt antony;034; antony sud;034; paris;075; antony;034; massy;091; savigny;034; [tmpfs]$ cat le_script.sh #! /bin/bash sort -u data.txt | sort -n -t";" +1 > fich var=$(sort -u data.txt | sort -n -t";" +1 -u | cut -d";" -f2) while read line; do sed -i ' /'"${line}"';$/{ :z N /'"${line}"';$/{ s/\n// tz } s/;'"${line}"';\b/ \/ /g } ' fich; done <<<"$var" [tmpfs]$ ./le_script.sh [tmpfs]$ cat fich antony / antony sud / savigny;034; paris;075; massy;091; [tmpfs]$;-))
Grunt
Messages postés
2773
Date d'inscription
jeudi 17 janvier 2008
Statut
Contributeur
Dernière intervention
3 avril 2009
301
7 mai 2008 à 16:55
7 mai 2008 à 16:55
Excuse mon indiscrétion, mais comment ça se fait que tu ne postes pas avec l'OS sur lequel tu travailles?
Si c'est un exercice de cours, je pense que personne ne va t'aider, le but est que tu cherches toi-même ^^
Si c'est un exercice de cours, je pense que personne ne va t'aider, le but est que tu cherches toi-même ^^
Grunt
Messages postés
2773
Date d'inscription
jeudi 17 janvier 2008
Statut
Contributeur
Dernière intervention
3 avril 2009
301
7 mai 2008 à 17:03
7 mai 2008 à 17:03
lol oki.
Je disais ça parce que y'a des tas de glandeurs qui ont un exo de cours, et plutôt que de passer 10 min à DL un Live CD et chercher eux-même, ils viennent faire faire leur exo sur CCM..
Ce qui n'est pas ton cas ^^
T'es pas obligé de programmer en shell donc, c'est langage libre tant que ça marche?
Je disais ça parce que y'a des tas de glandeurs qui ont un exo de cours, et plutôt que de passer 10 min à DL un Live CD et chercher eux-même, ils viennent faire faire leur exo sur CCM..
Ce qui n'est pas ton cas ^^
T'es pas obligé de programmer en shell donc, c'est langage libre tant que ça marche?
Grunt
Messages postés
2773
Date d'inscription
jeudi 17 janvier 2008
Statut
Contributeur
Dernière intervention
3 avril 2009
301
>
sebcah
7 mai 2008 à 17:06
7 mai 2008 à 17:06
? Oui, mais si t'as (par exemple) le compilateur gcc sous la main, et que tu écris un prog en C pour résoudre ton pb, ce qui compte c'est que ça marche non?
Il me semble (bien que je ne le connaisse pas) que par exemple le perl pourrait résoudre ton pb plus facilement..
Il me semble (bien que je ne le connaisse pas) que par exemple le perl pourrait résoudre ton pb plus facilement..
sebcah
>
Grunt
Messages postés
2773
Date d'inscription
jeudi 17 janvier 2008
Statut
Contributeur
Dernière intervention
3 avril 2009
7 mai 2008 à 17:11
7 mai 2008 à 17:11
Je sais bien que ce serait plus facile, mais si je programme en perl je me fais virer looool :P
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
8 mai 2008 à 06:23
8 mai 2008 à 06:23
Solution vite faite à améliorer, débuguer:
Bon amusement...
root@osiris ~/src/bash $ cat data.txt antony;034; antony sud;034; paris;075; antony;034; massy;091; savigny;034; root@osiris ~/src/bash $ cat villes.sh #!/bin/bash sort data.txt | uniq | awk 'BEGIN{FS=";"} {gsub("^0", "" ,$2); numdep = $2 ; res[numdep] = res[numdep] "/" $1; } END {for (i=33; i<91; i++) {printf( "%03d %s\n", i, res[i]);} } '
Bon amusement...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sebcah
Messages postés
2
Date d'inscription
lundi 12 mai 2008
Statut
Membre
Dernière intervention
12 mai 2008
12 mai 2008 à 11:27
12 mai 2008 à 11:27
Merci beaucoup !
Ca marche bien :P
Ca marche bien :P