Zalozmy ze mam ciag
monika.damian.marek
W internenie znalazlem cos co pozwala mi uciac fragment od koncs ciagu,
czego nie potrafi cut.
a=monika.damian.marek ; echo ${a#*.}
damian.marek
Dla mnie jest to bardzo wygodne poniewaz ciag monika moze byc dowolny i zawierac rowniez kropki.
Niestety jesli chce uzyskac ciag damian , musze pierw otrzymany wynik przypisac innej zmiennej
, a nastepnie uciac ciag w podobny sposob.
${a%.*}
Czy da sie te polecenia napisac jako jedno?
Czyli:
a=monika.damian.marek ; echo ${${a#*.}%.*}
damian
Próbowałeś w taki sposób?
a=monika.damian.marek
b=${a#*.}
echo ${b%.*}
Tak, wlasnie tego chcialem uniknac.
Dlaczego ? Bo wydaje mi sie za dlugie,
a moglo by tak pieknie wygladac jak zadanie z matematyki
$ a=$[4+$[3-5]] ; echo $a
2
Widac na liczbach to dziala, a na tym wyzej chyba sie nie da, albo nie umiem.
Ad 1/
Troche ciezko taka odpowiedz zrozumiec,
naprawde ciezko :D ,
ale zakladam ze problem tkwi
ze wynik ${a#*.} nie jest zmienna, a tylko zmienne moge wykorzystac w takich klamrach.
a="monika.damian.marek" ; echo ${x=${a#*.}}
damian.marek
Ale dalej juz tym nie bede sie tym bawil bo to zle dziala,
mianowicie cokolwiek podstawie innego potem pod " a " to otrzymuje to samo co na poczatku , czyli jakby ${x=${a#*.}} byla stala ktora tylko raz pobrala dane od zmiennej " a " .
Juz pomijam fakt ze nie wstawilem jeszcze " %.* " do zmiennej x bo nie potrafie.
Dzieki za zainteresowanie :)