Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Polecenie if i liczby szesnastkowe http://forum.freesco.pl/viewtopic.php?f=22&t=8995 |
Strona 1 z 1 |
Autor: | adi [ czwartek, 15 września 2005, 22:16 ] |
Tytuł: | Polecenie if i liczby szesnastkowe |
Witam - mam kolejny problemik: mam pusty plik. Zawiera on jednak szesnatkową liczbę 0a. I teraz jak poleceniem if sprawdzić że tam jest 0a Robię tak: TEST=`cat plik1` if [ $TEST == 0x0a ]; then echo Jest OK fi - nie działa natomiast: echo $TEST >plik2 daje to samo co w pliku1 |
Autor: | Mis' [ czwartek, 15 września 2005, 22:24 ] |
Tytuł: | Re: Polecenie if i liczby szesnastkowe |
adi pisze: if [ $TEST == 0x0a ]
O ile się nie mylę, to w ten sposób porównujesz string. Czyli if będzie prawdziwy jeśli w zmiennej będziesz miał dokładnie te znaki: 0x0a. Nie ma to nic wspólnego z liczbą szesnastkową. Gdzieś czytałem że bash pozwala porównywać liczby szesnastkowe bezpośrednio więc może spróbuj tak: if [ $TEST -eq 0x0a ] nie gwarantuję że zadziała... generalnie man bash powinien rozwiać twoje wątpliwości. Ewentualnie bash advanced scripting guide - znajdziesz na świerzym mięsku. |
Autor: | adi [ piątek, 16 września 2005, 07:14 ] |
Tytuł: | |
Niestety - nie działa ![]() Pytanie 2 - jak sprawdzić długość pliku ?? |
Autor: | zciech [ piątek, 16 września 2005, 10:37 ] |
Tytuł: | |
root@serwer:/home$cat plik1 0a root@serwer:/home$cat test #!/bin/sh TEST=`cat plik1` if [ $TEST == 0a ]; then echo Jest OK else echo $TEST fi root@serwer:/home$./test Jest OK Sa rozne metody, wystarczy sobie to "wyciagnac" z polecenia ls -l albo policzyc przez wc root@serwer:/home$cat plik1|wc -c 3 root@serwer:/home$wc -c plik1 3 plik1 root@serwer:/home$ls -l plik1 -rw-r--r-- 1 root root 3 Sep 16 10:26 plik1 |
Autor: | adi [ piątek, 16 września 2005, 10:40 ] |
Tytuł: | |
Dzięki Zciech - ale wykombinowałem wcześniej - ostatnią Twoją opcją - przez ls - działa znakomicie ![]() P.S. - ale plik miał wielkość 1 bajt i tam było szesnastkowo 0x0a czyli liczba 10. To Co Ty pokazałeś dotyczy sytuacji, kiedy w pliku jest normalna liczba tekstowo- ale już po sprawie. ![]() |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |