On Sun, 24 Apr 2005, Razvan Stoica wrote:
> Stie careva cum se face in BASH extragerea unei parti dintr-un string?
Bash stie POSIX regular expressions. man bash, vezi array-ul
BASH_REMATCH si operatorul =~ .
> Stringul este de forma: rtt min/avg/max/mdev =
> 128.041/129.827/131.214/1.389 ms Ma intereseaza sa scot valoarea medie
> (in cazul asta: 129.827). In Java se face folosind clasa
> StringTokenizer. Exista ceva in genul asta si in BASH? Multumesc,
Cred ca aproximativ in felul urmator:
string='rtt min/avg/max/mdev = 128.041/129.827/131.214/1.389 ms';
# ^^...pe care, ma rog, il poti prelua intr-un while read ceva sau
# dintr-un fisier sau ce vrei tu.
if [[ "$string" =~ '([0-9.]+)\/([0-9.]+)\/([0-9.]+)\/([0-9.]+)' ]]; then
echo AVG \= ${BASH_REMATCH[2]};
else
echo No match.
fi;
Bash kicks ass, eh?
--
Any views or opinions presented within this e-mail are solely those of
the author and do not necessarily represent those of any company, unless
otherwise expressly stated.
---
Detalii despre listele noastre de mail: http://www.lug.ro/