Wpis z mikrobloga

Dlaczego ta komenda nic nie zwraca? grep -E "7$" plik.txt Jak przeglądam plik edytorem to jak najbardziej takie elementy istnieją. W ogóle coś nie chce mi grep współpracować ze znakiem końca linii $.

Debian 8
Grep 2.20
#linux #debian
  • 9
  • Odpowiedz
@Matt23: A próbowałeś dać cat plik.txt |grep -E "7$" ? (niby to nic nie zmienia ale może...)
i możesz sprawdzić jeszcze cat -v plik.txt żeby zobaczyć, czy nie ma na końcach linii jakichś innych znaków niż EOL
  • Odpowiedz
@przemokot11: Pierwsza opcja nic nie przyniosła (zdziwiłbym się gdyby było inaczej). Drugie polecenie pokazuje, że linie kończą się znakiem ^M. Tak jak powiedziałem, regex odpalony z poziomu sublime text działa i zwraca wyniki. Ten z grepa coś szwankuje gdy używam znaku końca linii.
  • Odpowiedz
Zgadzam się z przedmówcą - te ^M niszczą Ci robotę. Jeśli nie chcesz konwertować pliku to w patternie możesz napisać "7$^M" przy czym ^M uzyskasz naciskając ctrl-v po czym enter ;)
  • Odpowiedz