comment utiliser grep pour correspondre avec soit de l'espace ou saut de ligne
Je veux grep un fichier avec un mot, par exemple "AAA", et il se termine par des espaces ou des retours à la ligne. Je sais comment écrire séparément, comme suit, mais avoir des problèmes en les combinant (dans le sens qu'elle donne à la fois VVV AAA
et AAA VVV
).
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA$"
>VVV AAA
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA[[:space:]]"
>AAA VVV
J'ai essayé d'utiliser []
, mais sans succès..
OriginalL'auteur Richard | 2012-11-04
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la recherche pour le mot
AAA
suivie par l'espace de n'importe où dans la chaîne, ou à la fin de la ligne, puis utiliserOriginalL'auteur Ωmega
Vous pouvez utiliser le
-e
option de grep pour sélectionner plusieurs modèles:De la commande grep homme:
OriginalL'auteur jfg956
Utilisation
"AAA\b"
si c'est acceptable pour correspondre à AAA, suivi par tout autre caractère non alphanumérique. Selon le manuel de grep pages,\b
correspond à la chaîne vide au bord d'un mot.\b
correspondent également à des intrants tels que lesAAA-BBB
Merci, vous êtes de droite. Je suis à jour de ma réponse.
OriginalL'auteur David Pärsson