/ / Jak wyjaśnić zachowanie grep za pomocą spacji? - linux, grep

Jak wyjaśnić to zachowanie programu grep za pomocą spacji? - linux, grep

Jestem całkiem nowy w świecie Linuksa i chciałem go użyć grep znaleźć zdarzenia print po którym następuje spacja. Pojawia się w pliku /path/script.py - musisz mi tutaj zaufać. Byłem zaskoczony, widząc to

grep --include=script.py -rnwlF "/path/" -e "print"

poprawnie wyświetla nazwę pliku, ale

grep --include=script.py -rnwlF "/path/" -e "print "

nie. Jest jednak absolutnie pewne, że przestrzeń istnieje w pliku.

Co się dzieje? Czy może to być jakiś dziwny problem z kodowaniem znaków?

Odpowiedzi:

1 dla odpowiedzi № 1

Skąd wziąłeś tę linię? Używając -w opcja, pytasz grep aby wybrać tylko linie, które pasują do całego słowa. Więc usunięcie go powinno wypisać plik, jeśli nie zawiera „print po którym następuje spacja ”:

grep --include=script.py -rnlF "/path/" -e "print "

Jeśli jednak jesteś tylko grep„poprzez jeden plik łatwiej byłoby po prostu napisać:

grep -lF "/path/script.py" -e "print "