Utilisation de grep
Combien de lignes de 12 lettres seulement sont-elles dans testing.txt?
extrait de testing.txt
tyler1 Tanktop_Paedo [email protected] [email protected] justincrump cranges10 [email protected] soulfunkbrotha timetolearnz [email protected] Fire_Crazy helloworldad [email protected]
de cet extrait, je veux obtenir un résultat de 2. (helloworldad et timetolearnz)
Je veux vérifier chaque ligne et grep seulement celles qui ont 12 caractères dans chaque ligne. Je ne peux pas penser à un moyen de le faire avec grep cependant.
Pour l’alphabet seulement, je pense pouvoir utiliser
grep [A-Za-z] testing.txt
Cependant, comment puis-je faire en sorte que seuls les caractères [A-Za-z] apparaissent dans ces 12 caractères?
Vous pouvez le faire avec l’expression rationnelle étendue -E et en spécifiant que la correspondance correspond exactement à {12} caractères du début ^ pour terminer $
$ grep -E "^[A-Za-z]{12}$" testing.txt timetolearnz helloworldad
Ou si vous voulez obtenir le nombre de lignes que vous pouvez utiliser
$ grep -cE "^[A-Za-z]{12}$" testing.txt 2
grep
prend en charge la correspondance et le comptage sur toute la ligne, par exemple:
grep -xc '[[:alpha:]]\{12\}' testing.txt
Sortie:
2
La classe de caractères [:alpha:]
est une autre façon de dire [A-Za-z]
. Voir la section 3.2 des pages d’information: info grep 'Regular Expressions' 'Character Classes and Bracket Expressions'
pour plus d’informations à ce sujet. Ou consultez le manuel PDF en ligne .