Bash caractères doubles
Résolu/Fermé
Jeremyprog
-
Jeremyprog -
Jeremyprog -
Bonjour,
J'ai un fichier texte qui contient :
Je voudrais supprimer toutes les lignes qui contiennent strictement plus de 2 chiffres (distincts) dupliqués, comme par exemple
Je veux garder cells qui contiennent au plus deux chiffres dupliqués, comme par exemple
J'essaie avec
J'ai un fichier texte qui contient :
00112233
01234567
11234556
Je voudrais supprimer toutes les lignes qui contiennent strictement plus de 2 chiffres (distincts) dupliqués, comme par exemple
00112233.
Je veux garder cells qui contiennent au plus deux chiffres dupliqués, comme par exemple
11234556
J'essaie avec
awket
sedmais je n'arrive pas à ce que je voudrais :(
A voir également:
- Bash caractères doubles
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caracteres speciaux - Guide
- Bingo bash - Télécharger - Divers Jeux
4 réponses
à tester sur plus de données
$ cat fichier
900112233
00112233
01234567
11234556
$
$ awk -F "" '$1!=$2 || $3!=$4 {print $0}' fichier
900112233
01234567
11234556
un probleme proche avait été posé
https://forums.commentcamarche.net/forum/affich-37411007-recherche-avec-grep#3
https://forums.commentcamarche.net/forum/affich-37411007-recherche-avec-grep#3
Bonjour, excuse-moi j'ai une question,
Comment puis-je supprimer toutes les lignes qui commencent par un double dans un fichier texte, s'il te plaît ?
Comment puis-je supprimer toutes les lignes qui commencent par un double dans un fichier texte, s'il te plaît ?
Dans l'absolu, c'est une nouvelle question qui n'a rien à avoir avec le problème initial donc tu devrais la poser dans un nouveau fil de discussion. Le plus simple dans ton cas est de faire un filtre basé sur une expression régulière, par exemple à l'aide de
Exemple :
Bonne chance
egrep
- Si tu parles d'un double au sens nombre flottant (par exemple -1.23 ou +4.56 ou 78.90 ou n'importe quelle valeur entière (signée ou non signée)), cela s'écrit :
egrep -v "^(-|[+])?[0-9]+([.][0-9]+)?" fichier
Exemple :
(mando@silk) (~) $ cat fichier
1.23 abc
-4.56 def
ghi 1.23
klm opq
(mando@silk) (~) $ egrep -v "^(-|[+])?[0-9]+([.][0-9]+)?" fichier
ghi 1.23
klm opq
- Si tu parles d'un chiffre dupliqué il faut simplement adapter le filtre. Si j'ai bien compris cela revient à supprimer les lignes qui commencent par 11, 22, 33 ... 99, ou 00. Le filtre devient :
egrep -v "^(00|11|22|33|44|55|66|77|88|99|00)" fichier
Bonne chance
Tu es impressionnant, à chaque question que je pose tu me trouve les solutions.
Vraiment un très grand MERCI à toi