Strona 1 z 1
[BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 19:54
autor: InterNeo
Potrzebuje napisac IF'a a skrypice bash'a ktory bedzie mi sprawdzal czy zmienna $cel ma na koncu znak @. Jezeli takowy wystapi gdzies wczesniej ma nie brac tego pod uwage... Prawda - tylko dla @ na samym koncu. Jak takie cos napisac? // W sensie nie samo wyrazenie regularne prosze o pomoc przy napisaniu calego ifa.
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 20:31
autor: хur
w tak prostym przypadku nie lepiej było by po prostu sprawdzić czy ostatni znak to @ ?
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 20:39
autor: InterNeo
O tym mówie, ale nie znam składni basha i nie wiem jak to zapisac.
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 20:51
autor: хur
Kod: Zaznacz cały
~$ cel=Berlin@
~$ if [[ ${cel:$((${#cel}-1))} = @ ]] ; then echo 'ognia!' ; else echo 'wtf?' ; fi
ognia!
~$ cel=Pacanów
~$ if [[ ${cel:$((${#cel}-1))} = @ ]] ; then echo 'ognia!' ; else echo 'wtf?' ; fi
wtf?
EDIT:
właśnie sprawdziłem $(()) można pominąć:
Kod: Zaznacz cały
if [[ ${cel:${#cel}-1} = @ ]] ; then echo 'ognia!' ; else echo 'wtf?' ; fi
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 20:52
autor: InterNeo
No i dziekuje uprzejmie :]
Jeszcze gdybys powiedzial jak to sie czyta
${cel:$((${#cel}-1))} = @
ze wskazniem na dwukropek krzyzyk i co robia nawiasy okragle
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 20:59
autor: хur
$(( cośtam )) pozwala na użycie arytmetyki ale właśnie odkryłem że wewnątrz ${} nie jest koniecznie czyli można napisać:
, czyta się to tak:
${cel:liczba} traktuje cel jak napis i usuwa z rozwinięcia znaki o indeksie mniejszym niż 'liczba', znaki w napisie są indeksowane od 0. Jako 'liczba' podaję długość 'cel', czyli ${#cel} a ponieważ indeksowanie jest od 0 a ja chcę ostatni znak więc od długości odejmuję 1.
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 21:03
autor: InterNeo
A gdybym chcial zrobic np. "Jesli nie zawiera @ to"
(Nie ze jako else... tylko jak takie wyrazenie zapisac)
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 21:23
autor: хur
nie zawiera w ogóle, czy na ostatnim miejscu ? w 2 przypadku możesz "zaprzeczyć" wyrażenie które już masz (wykrzyknikiem). Jeśli ma nie zawierać w ogóle to prościej będzie użyć wyrażenia regularnego (i też je zwykrzyknikować):
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 04 kwie 2009, 21:25
autor: InterNeo
dzieki <sciana> wpisywalem ten wykrzyknik w kazde miejsce tylko nie w to...
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 25 lis 2009, 21:20
autor: artur404
Chciałbym się podpiąć pod temat. Podejrzewam że Wam odpowiedź zajmie 5 min. a ja nie stety jestem zielony na razie w takie sprawy.
Mam plik .txt. a w nim zamiast polskich znaków, jakieś krzaki. Chciałbym napisać skrypt podmieniający je na polskie. Próbowałem w programach typu gedit, eclipse, ale tam nie umiem zrobić co następuje.
Mam słowo no, "a.ć". Chciałbym zrobić z niego "ałć". Więc potrzebuję wyrażenia
if [dowolna alfanumeryczna]\.[dowolna alfanumeryczna] REPLACE \. = ł.
ale wszystkie replace jakie mam to robią mi kasują [dowolna alfanumeryczna]\.[dowolna alfanumeryczna] w "ł" czyli z a.ć wychodzi po prostu ł.
jakiś pomysł albo sposób żeby draństwo zostawiało poprzedni i następny znak za podmieniany?
Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 26 lis 2009, 06:46
autor: jacekalex
Kod: Zaznacz cały
iconv --from-code=ISO-8859-1 --to-code=UTF-8 iso.txt > utf.txt
Możesz do skryptu wrzucić tą komendę - gdzie zamiast
dasz zmiennną wygenerowaną programem enca -(jest w repo)
Przykład:
Zresztą enca też ma możliwosć konwersji kodowania.
Poskładanie tego w skrypt nie jest specjalnie trudne - poradzisz sobie.
Pozdrawiam

Odp: [BASH] Wyrazenie regularne i konstrukcja IF
: 02 gru 2009, 22:25
autor: artur404
Kodowanie pliku mam w UTF-8, jednak mimo to mam krzaki. Z tego co odkryłem, to w pdfie zastosowano czcionkę PHelvetica która stosowana jest na mac'ach a nie PC'tach. Stąd jakkolwiek bym nie konwertował, to zawsze znajdzie się jakiś krzak.
Teraz zastanawiam się nad importem fontów, ale to temat na inny dział
Ale dzięki wielkie za polecony program. Całkiem mocarne cudo : )