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 № 1Ską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 "