Strona 1 z 1

[bash] Wyciaganie frazy.

: 01 lis 2009, 16:46
autor: COVERek
Mam taka frazę:

+COPS: 0,0,"Plus",2

jak z tego wciągnąć nazwę Plus? a dokładniej nazwę która pojawi się między dwoma "" ?

Odp: [bash] Wyciaganie frazy.

: 01 lis 2009, 17:20
autor: beluosus

Kod: Zaznacz cały

cut -f2 -d\"

Odp: [bash] Wyciaganie frazy.

: 02 lis 2009, 12:35
autor: COVERek
działa, dzięks. :)

Odp: [bash] Wyciaganie frazy.

: 27 gru 2009, 11:31
autor: COVERek
Mam kolejny problem. Mianowicie jesli mam fraze:

Kod: Zaznacz cały

Percent:34 Name:Plus LAC:33162 CID:58634
To jak wyciagnac tylko pierwszy ciag znakow po dwukropku?
I jesli przykladowo po dwukropku nie bedzie nic to zeby nic nie wyciagal?

Przykladowo zeby z takiej frazy tez poprawnie wyciagnal dane.

Kod: Zaznacz cały

Percent:34 Name:Plus Plus Plus LAC: CID:58634
Ogolnie potrzebuje kazdy ciag znakow z osobna.

Odp: [bash] Wyciaganie frazy.

: 27 gru 2009, 15:29
autor: rack
Hej

Poniższy kod jest w ruby, jeżeli nie masz to
apt-get install ruby1.9 i potem

Jeżeli ma być wyciągnięty tylko pierwsza kolumna wyłacznie z wartością

Kod: Zaznacz cały

ruby -e "gets.split(' ').each{|entry| first,last = entry.split(':') if /Percent:[a-zA-Z0-9]+/ =~ entry; puts last if last }"
Jeżeli mają być wyciągnięte wszystkie wartości z wyłączeniem pustych ciągów znaków

Kod: Zaznacz cały

ruby -e "gets.split(' ').each{|entry| first,last = entry.split(':');puts last if last  }"
Używa się tego jak każdego innego programu wykorzystującego łącze STDIN I STDOUT

Kod: Zaznacz cały

echo "Percent:34 Name:Plus Plus Plus LAC: CID:58634" | ruby -e "gets ...
Jeżeli masz te linie w pliku to wtedy:

Kod: Zaznacz cały

ruby -pe "$_.split(' ') ... " < twoje_dane.txt
Enjoy ;))

Poniżej masz trochę innych przykładówwykorzystania ruby z linii polecen ;))

http://rubyhelp.org/indeks/article/ruby_command_line

pozdrawiam
S.Wojnowski

Odp: [bash] Wyciaganie frazy.

: 27 gru 2009, 18:21
autor: nUmer
COVERek pisze:Mam kolejny problem. Mianowicie jesli mam fraze:

Kod: Zaznacz cały

Percent:34 Name:Plus LAC:33162 CID:58634
To jak wyciagnac tylko pierwszy ciag znakow po dwukropku?
I jesli przykladowo po dwukropku nie bedzie nic to zeby nic nie wyciagal?

Przykladowo zeby z takiej frazy tez poprawnie wyciagnal dane.

Kod: Zaznacz cały

Percent:34 Name:Plus Plus Plus LAC: CID:58634
Ogolnie potrzebuje kazdy ciag znakow z osobna.
nie zrozumiałem poprawnie - chcesz wyciągnąć wszystko po pierwszym dwukropku, czy tylko tekst między pierwszym a drugim dwukropkiem?

Odp: [bash] Wyciaganie frazy.

: 28 gru 2009, 17:26
autor: beluosus
O ile dobrze zrozumiałem zagadnienie - myślę, że to powinno wystarczyć:

Kod: Zaznacz cały

awk -F ':| ' '{print $2}'