[bash] operacje na napisach

Potrzebujesz pomocy z C, C++, perl, python, itp.
Chodak
Posty: 12
Rejestracja: 28 października 2007, 11:17

[bash] operacje na napisach

Post autor: Chodak »

Witam. Mam troche trywialne pytanie ale nie moglem znalesc rozwiazania. Czy w bashu da sie odwolac do okreslonego znaku w ciagu, tak jak np w C++ - zmienna[liczba]. Probowalem np tak:

Kod: Zaznacz cały

#!/bin/bash
slowo="tekst"
znak=${slowo[3]}
jednak to nie dziala..

Pozdrawiam
Chodak
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

raczej nie da(przynajmniej ja nic o tym nie wiem), ale taki awk na przykład może sprawdzać czy jakaś litera czy ciąg znaków znajduje się w słowie, zamienić podciąg na inny itp
Chodak
Posty: 12
Rejestracja: 28 października 2007, 11:17

Post autor: Chodak »

hmm... wkasciwie satysfakcjonowalo by mnie usuwanie znakow od lewej. np:

Kod: Zaznacz cały

zmienna="ala ma kaca"
i pozniej np. co 1sec zmienna ma wygladac tak:

Kod: Zaznacz cały

"la ma kaca"
"a ma kaca"
" ma kaca"
"ma kaca"
"a kaca"
" kaca"
"kaca"
"aca"
"ca"
"a"
""
jest jakis sposob?

Pozdrawiam
Chodak
Gość

Post autor: Gość »

Chodak pisze:Czy w bashu da sie odwolac do okreslonego znaku w ciagu
Da się bezproblemowo :

Kod: Zaznacz cały

Debian  [pts/4]  [21:59:48]  [ ~ ]
 >>  slowo="tekst"]


Pozdrawiam
Chodak
Posty: 12
Rejestracja: 28 października 2007, 11:17

Post autor: Chodak »

Super! Wlasnie o to mi chodzilo. Wielkie dzieki.

Pozdrawiam.
Chodak
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

Chodak pisze:jest jakis sposob?

Kod: Zaznacz cały

#!/bin/bash
tekst="Ala ma kota"
while [[ "$tekst" !=  "" ]]
do
    echo $tekst
    tekst=`echo $tekst | cut -c2-`
    sleep 1
done
Hagal pisze:Da się bezproblemowo :
Człowiek ciągle się uczy, dzięki :)
ODPOWIEDZ