web-dev-qa-db-fra.com

L'astérisque ne fonctionne pas avec grep

J'ai cherché ki avec * comme dans l'exemple ci-dessous et il aurait dû retourner les trois premières lignes. Je ne sais pas pourquoi il retourne la dernière ligne quand il n'y a pas de correspondance entre ki.

$ grep "ki*" trial_file.txt
kartik,27,Bangalore,Karnataka
pulkit,25,Bangalore,Karnataka
kit,28,Bangalore,Karnataka
kush,24,Pennsylvania,Philadelphia
4

Je pense que vous attendez des cartes wild de style Shell, mais ce que vous obtenez est une expression régulière. Lorsque vous recherchez ki*, vous demandez un nom littéral k suivi de 0 ou plus is.

La première ligne ne contient pas non plus "ki".

Comment faire cela dépend de ce que vous essayez de faire correspondre exactement.

Comme indiqué ci-dessus, grep "ki" pourrait être ce que vous voulez, ou si vous voulez ne faire correspondre que les lignes commençant par "ki", vous aurez besoin de grep "^ki".
^ indique le début de la ligne.

10
mjb2kmn