|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Cedric MorettiChef de projet MOA Inscription : février 2010 Messages : 51 ![]() |
Bonjour
Voici j'ai un soucis j'ai un fichier avec 150 lignes dans un premier temps on m'a demandé de compter ligne par ligne le nombre de fois que le caractère "c" et "C" apparaissait pour cela j'ai effectué cette commande Code :
J'ai essayé Code :
awk 'BEGIN {FS="C" || FS="c"}{print NF-1}' nomfichier donc je cherche maintenant à additionner ligne par ligne afin d'avoir le nombre total et ensuite si ce chiffre est supérieur à un nombre (ici 25) retirer la ligne un grand merci Moretti Cedric Dernière modification par al1_24 ; 18/03/2010 à 09h06. |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 259 ![]() |
bjr
Code :
nota : j'ai mis "ccccccccccccccccccccccccc.*" uniquement pour l'exemple il y a une syntaxe sed pour dire 'c 25* de suite' bien sur mais je te laisse chercher... mais c'est pour comprendre la syntaxe : pour tout i dans [aurtre caractere que c ou C remplacé par rien] ; faire chercher '25c*' et delete la ligne ; fin_faire je résume : il te reste à ajouter la syntaxe propre pour 25c et bien sur à la remplacer par "25c ou C" après et ton effacement de toute ligne contenant 25C sera fini bon aller je suis sympa je donne la solution : Code :
enfin un conseil : parce que je ne vois pas pourquoi tu veux garder le comptage des caractères non "c ou C", j'imagine que tu n'en a pas besoin au quel cas tu peux réduire le code à et enfin si tu veux changer le nombre de caractères "c ou C" dont il faut effacer les lignes pour utiliser dans un script par exemple tu peux utiliser une variable comme ça Code :
sed -i '/[cC]\{'${TA_VARIABLE}'\}/d' ${nom_fichier}
__________________
![]() Communauté OpenBSD francophone Communauté de collectionneur d'ordinateurs antiques Dernière modification par frp31 ; 17/03/2010 à 19h57. |
||||
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 685 ![]() |
Pour donner le nombre de c ou C dans le fichier file_in:
Code :
awk -F '[Cc]' '{n+=NF-1} END {print n}' file_in Code :
awk -F '[Cc]' 'NF-1 <= 25' file_in > file_out
__________________
Un problème bien posé est déjà résolu (H. Bergson). Dernière modification par jmelyn ; 18/03/2010 à 20h34. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Cedric MorettiChef de projet MOA Inscription : février 2010 Messages : 51 ![]() |
Merci de vos réponses
je fais tout cela demain, je vous tiendrai au courant.... shell powerrrrrrrrrr et linux power |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Cedric MorettiChef de projet MOA Inscription : février 2010 Messages : 51 ![]() |
ca marche
merci à jmelyn & frp31 pour leurs aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com