it-swarm.com.de

Asterisk funktioniert nicht mit grep

Ich habe nach ki mit * gemäß dem folgenden Beispiel gesucht und es hätte die ersten drei Zeilen zurückgeben sollen. Ich bin nicht sicher, warum es die letzte Zeile zurückgibt, wenn es kein ki gibt, das mit ihr übereinstimmt.

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

Ich glaube, Sie erwarten hier Platzhalter im Shell-Stil, aber Sie erhalten einen regulären Ausdruck. Bei der Suche nach ki* fragen Sie nach einem wörtlichen k gefolgt von 0 oder mehr is.

Die erste Zeile enthält auch kein "ki".

Wie dies richtig gemacht wird, hängt davon ab, was genau Sie abgleichen möchten.

Wie oben erwähnt, könnte grep "ki" das sein, was Sie wollen, oder wenn Sie nur Zeilen suchen möchten, die mit "ki" beginnen, benötigen Sie grep "^ki".
^ kennzeichnet den Zeilenanfang.

10
mjb2kmn