Problème script shell
Fermé
sasuke-kun
Messages postés
47
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
22 mars 2007
-
19 oct. 2006 à 10:57
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 19 oct. 2006 à 18:08
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 19 oct. 2006 à 18:08
A voir également:
- Problème script shell
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
7 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 897
19 oct. 2006 à 11:50
19 oct. 2006 à 11:50
Salut,
Essaie avec ça (c'est un peu tordu, je suis sûr qu'il y a plus simple, mais bon ça marche...) :
Quoi qu'avec le "man" de chaque commande ça devrait être assez clair (à part pour "sed").
;-))
Essaie avec ça (c'est un peu tordu, je suis sûr qu'il y a plus simple, mais bon ça marche...) :
sed 's/ /\n/g' ton_fichier | sort | uniq | wc -wSi tu veux des explications, demande ;-))
Quoi qu'avec le "man" de chaque commande ça devrait être assez clair (à part pour "sed").
;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2006 à 12:11
19 oct. 2006 à 12:11
Voilà ce que ça donne chez moi avec ton exemple :
[jp@MDK tmpfs]$ cat fich.txt abc ght hjk dfr abc mno ght mno [jp@MDK tmpfs]$ sed 's/ /\n/g' fich.txt | sort | uniq | wc -w 5 [jp@MDK tmpfs]$Affiche-nous un bout de ton fichier, histoire qu'on adapte à ton cas (ici j'ai fait au plus simple en remplaçant les espaces entre les mots par des retours à la ligne (\n)). S'il le faut sur ton fichier il faudra "bidouiller" autrement ... ;-))
sasuke-kun
Messages postés
47
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
22 mars 2007
19 oct. 2006 à 12:27
19 oct. 2006 à 12:27
Mon fichier (f1)
se présente de cette manière
abc( def) gh@i
jkl aBc( deF)
GH@I mno
j'ai bien compris ce que tu m'a donner mais le problème, j'ai un résultat de 8 au final
Or il me faudrai un résultat de 5 mots
Les mots double se transforme en un.
Si tu veux le but de mon script est de différencié 2 fichiers f1 et f2 et d'avoir au final le résultat du nombre de mot pour l'instant je le fait pour un fichier
abc( def) gh@i abc( def)
jkl aBc( deF) GH@I mno
GH@I mno pqr stu vwx
à la fin je dois obtenir 5mots pour f1
7mots pour f2
au final 2fichiers 8mots distinct
donc 4 mots dans les 2fichiers
j'espère que ce n'est pas un peu bouilli
Merci
se présente de cette manière
abc( def) gh@i
jkl aBc( deF)
GH@I mno
j'ai bien compris ce que tu m'a donner mais le problème, j'ai un résultat de 8 au final
Or il me faudrai un résultat de 5 mots
Les mots double se transforme en un.
Si tu veux le but de mon script est de différencié 2 fichiers f1 et f2 et d'avoir au final le résultat du nombre de mot pour l'instant je le fait pour un fichier
abc( def) gh@i abc( def)
jkl aBc( deF) GH@I mno
GH@I mno pqr stu vwx
à la fin je dois obtenir 5mots pour f1
7mots pour f2
au final 2fichiers 8mots distinct
donc 4 mots dans les 2fichiers
j'espère que ce n'est pas un peu bouilli
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2006 à 13:22
19 oct. 2006 à 13:22
Tu ne m'avais pas dit qu'il fallait différencier les majuscules des miniuscules !!!
Ca change tout cette histoire ;-\
Ca change tout cette histoire ;-\
sed 's/ /\n/g' ton_fichier | sort | tr '[A-Z]' '[a-z]' | uniq | wc -w;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sasuke-kun
Messages postés
47
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
22 mars 2007
19 oct. 2006 à 13:32
19 oct. 2006 à 13:32
Oui c'est déjà fait mon seul problème, je n'arrive pas a différencié mes mots
abc( def) gh@i
jkl aBc( deF)
GH@I mno
au final sur mon terminal j'obtiens ceci
2 abc(
2 def
2 gh@i
1 jkl
1 mno
d'où au total 8 mots mais je voudrais avoir:
1 abc(
1 def
1 gh@i
1 jkl
d'où 5 mots
je sais qu'on peut utiliser la commande uniq mais c'est uniquement pour des mots de la même ligne
Il faut en fait que je trouve une commande qui me permet de simplifier 2mots en un
Désolé je m'étais mal exprimer, je pense que tu devrais comprendre maintenant mon problème
Merci
abc( def) gh@i
jkl aBc( deF)
GH@I mno
au final sur mon terminal j'obtiens ceci
2 abc(
2 def
2 gh@i
1 jkl
1 mno
d'où au total 8 mots mais je voudrais avoir:
1 abc(
1 def
1 gh@i
1 jkl
d'où 5 mots
je sais qu'on peut utiliser la commande uniq mais c'est uniquement pour des mots de la même ligne
Il faut en fait que je trouve une commande qui me permet de simplifier 2mots en un
Désolé je m'étais mal exprimer, je pense que tu devrais comprendre maintenant mon problème
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2006 à 13:39
19 oct. 2006 à 13:39
J'ai bien compris et c'est ce que j'obtiens chez moi :
[jp@MDK tmpfs]$ cat f1 abc( def) gh@i jkl aBc( deF) GH@I mno [jp@MDK tmpfs]$ sed 's/ /\n/g' f1 | sort | tr '[A-Z]' '[a-z]' | uniq abc( def) gh@i jkl mno [jp@MDK tmpfs]$C'est pas ça que tu veux ???
sasuke-kun
Messages postés
47
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
22 mars 2007
19 oct. 2006 à 13:53
19 oct. 2006 à 13:53
It's good
ça marche c'est super je te remercie c'est trop cool
Merci beaucoup
ça marche c'est super je te remercie c'est trop cool
Merci beaucoup
sasuke-kun
Messages postés
47
Date d'inscription
jeudi 19 octobre 2006
Statut
Membre
Dernière intervention
22 mars 2007
19 oct. 2006 à 13:59
19 oct. 2006 à 13:59
Salut
Par contre excusez moi j'aurai une question
je ne comprend pas à quoi correspond le 'n'
sed 's/ /\n/g'
Merci
Par contre excusez moi j'aurai une question
je ne comprend pas à quoi correspond le 'n'
sed 's/ /\n/g'
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 oct. 2006 à 18:08
19 oct. 2006 à 18:08
Re-
Alors on remplace les espaces entre les mots (blancs) par des retours à la ligne (\n), j'y avais fait allusion au post #3 d'ailleurs.
Sinon, pour grouper les deux fichiers et gagner une étape tu peux essayer :
Alors on remplace les espaces entre les mots (blancs) par des retours à la ligne (\n), j'y avais fait allusion au post #3 d'ailleurs.
Sinon, pour grouper les deux fichiers et gagner une étape tu peux essayer :
[jp@MDK tmpfs]$ cat f1 f2 abc( def) gh@i jkl aBc( deF) GH@I mno abc( def) gh@i abc( def) jkl aBc( deF) GH@I mno GH@I mno pqr stu vwx [jp@MDK tmpfs]$ cat f1 f2 | sed 's/ /\n/g'| sort | tr '[A-Z]' '[a-z]' | uniq | wc -w 8 [jp@MDK tmpfs]$;-))
19 oct. 2006 à 12:05
je viens de vérifier mais il me donne le nombre total de mot de mon fichier.
Mais moi j'aimerai rassembler les mots en commun en un seul mot et avoir le total
je te remercie