Bonjour ,sous unix je cherche dans un fichier et à une position bien précise le nombre de fois ou une valeur est présente : Ex : nombre de fois ou la valeur '0' est présente entre la colonne '104' et '105'
Merci de votre aide
Bonjour ,sous unix je cherche dans un fichier et à une position bien précise le nombre de fois ou une valeur est présente : Ex : nombre de fois ou la valeur '0' est présente entre la colonne '104' et '105'
Merci de votre aide
tu peux pas le faire one-shot mais tu peux oui
l idée est de lister la colonne qui t intéresse | chercher en mode comptage le pattern que tu cherches
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 francois@h2g2:~$ cat > toto 11111111111111111111111111111111111111111111111111111111111111111111111111111111^[[B^[[B^[[B^[[B^[[B^[[B^[[B111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111 francois@h2g2:~$ cut -c91 toto | grep -c 0 1 francois@h2g2:~$ francois@h2g2:~$ cut -c33 toto | grep -c 0 0 francois@h2g2:~$ rm toto
ici colonne 91 y a 1 zero
mais colonne 33 ya pas (0 zero )
salut,
sauf que grep -c justement ne compte pas le nombre d'occurrences sur la même ligne mais uniquement le nombre de lignes sur lesquelles au moins une occurrence est présente
si on considère ce fichier :
dans lequel on cherche à compter pour chaque ligne le nombre de 1 entre les 6ème et 15ème colonnes, on doit pouvoir envisager un truc comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 -----0001001000----- -----0111001000----- ---1-0000000000-----
à valider / il y a possiblement mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $ cut -c6-15 fichier | while read line; do echo $line | sed 's/./&\n/g' | grep -c 1; done 2 4 0
bien vu la colonne peut ne pas etre un caractere unique
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager