Strona 1 z 1

grep + wyrażenie regularne

: 16 lip 2015, 12:42
autor: fileth
witam
jak grepem wyciądnąć wyrazy wyrażeniem regularny ... ?
wyszukuje - za pomocą wyrażenia regularnego ([#!]\w+[#!]) interesującą mnie grupę wyrazów w plik.txt ...
chciał bym je skopiować do innego pliku *.txt
sprawdzalem w notepad++ wyrazenie regularne dziala - tzn podswietla mi wszystkie wyrazy ale nie moge ich skopiowac ...
dlatego licze ze grepem jest to mozliwe
_________________________________
fileth.pl

Re: grep + wyrażenie regularne

: 17 lip 2015, 15:01
autor: Czeslavus

Kod: Zaznacz cały

twoje_polecenie > plik.txt
i zapisze w katalogu w którym jesteś

Re: grep + wyrażenie regularne

: 17 lip 2015, 18:04
autor: charzu
Myślę, że chodziło raczej o:

Kod: Zaznacz cały

grep -E "[#!]\w+[#!]" plikWejsciowy> plik.txt 

Re: grep + wyrażenie regularne

: 17 lip 2015, 18:12
autor: enedil
Tutaj raczej bardziej przyda się gawk (GNU Awk):
http://stackoverflow.com/questions/5536 ... -from-file

Chociaż takie rozwiązanie w Ruby działa ładnie (mój skrypt):
https://gist.github.com/enedil/7126030353a4ba31c428
Musisz zainstalować do tego Ruby

Kod: Zaznacz cały

sudo apt-get install ruby

Re: grep + wyrażenie regularne

: 20 lip 2015, 10:49
autor: fileth
wydaje się że składnia ...
grep -E "[#!]\w+[#!]" plikWejsciowy> plik.txt
jest poprawna.
Ale komenda nie wykonuje tego wyrażenia ... wyrażenie mówi żeby wyfiltrować wszystkie wyrazy między znakami #! #!
A w praktyce przenosi cała zawartość plikWejsciowy do plik.txt
______________________________
http://fileth.pl

Re: grep + wyrażenie regularne

: 21 lip 2015, 08:54
autor: JSokol
Użyj flagi -o aby grep zwrócił tylko pasujące wyrażenie.
Poprawiona całość wygląda tak:

Kod: Zaznacz cały

grep -Eo '#!\w+#!' plik_wejsciowy > plik_wyjsciowy
Przetestowałem na pliku wejsciowym o takiej zawartości:

Kod: Zaznacz cały

a#!asd1#!h
b#!asd2#!u
c#!asd3#!j
d#!asd4#!k
e#!asd5#l
fukulelem
g#!asd6#!n
i zwrócił do wyjściowego taki wynik:

Kod: Zaznacz cały

#!asd1#!
#!asd2#!
#!asd3#!
#!asd4#!
#!asd6#!

Re: grep + wyrażenie regularne

: 21 lip 2015, 10:40
autor: fileth
rewelacja poszlo !
brakowało wlasnie -o
dziękuję bardzo
______________________________
http://fileth.pl

Re: grep + wyrażenie regularne

: 21 lip 2015, 21:39
autor: Ubek308
Istnieje jeszcze egrep, wlasnie do takich zabaw.