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 $.
@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
@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.
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 ;)
@Almagest: @przemokot11: et voilà! Po przekonwertowaniu wszystko śmiga. Już #!$%@? dostawałem, bo tak jak wspomniałem, gdy identyczny regex odpalałem z poziomu sublime text to prawidłowo wyszukiwał wiersze.
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
http://pastebin.com/umaq99Kv
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ż EOLdos2unix
.^M
.sed -n "/7^M/p" plik.txt
). (╯︵╰,)