Bash

Potrzebujesz pomocy z C, C++, perl, python, itp.
mkotek
Posty: 13
Rejestracja: 06 czerwca 2007, 14:40

Bash

Post autor: mkotek »

Witam serdecznie

mam pytanko
czy istnieje mozliwosc wyswietlenie konkretnej linijki pliku??

czyli np. w skrypcie podaje jakas wartosc i chce zeby ten skrypt wyświetlil mi ta konkretna linijke czyli np NR 5 z jakiegos pliku

moze jest to jakies banalne pytanie ale dopiero startuje z linuxem :/
z gory dziekuje ze informacje
jaSS
Beginner
Posty: 388
Rejestracja: 02 czerwca 2006, 08:57

Post autor: jaSS »

Pewnie jest kilkanaście sposobów, mój mało efektywny sposób:

Kod: Zaznacz cały

head -$LINIA $PLIK | tail -1
Czyli np:

Kod: Zaznacz cały

head -5 tekst.txt | tail -1
mkotek
Posty: 13
Rejestracja: 06 czerwca 2007, 14:40

Post autor: mkotek »

to ja juz nic nie rozumiem

na jakiej zasadzie dzialaja te petle
zrobilem cos takiego
for (( i=1; $i <= x; i++ )) ;
do
if [ $i / 5 =0 ] then ...
to dlaczego pierwsza petla wykonuje wszystkie obliczenia
tzn myslalem ze to jest cos podobnego jak w c+++
ze for (( i=1; $i <= x; i++ )) ; czyli od 1 do x sprawdzaj czy
[ $i / 5 =0 ] jezeli tak to wykonaj akcje a jak nie to przejdz dalej
a tu caly czas omija mi ten moment sprawdzenia czy dzielenie calkowite aktualnego i z 5 jest bez reszty wtedy ma wykonac

jakies to dziwne

ok
ale i tak wielkie dzieki za pomoc
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

mkotek
przy jakiej wartości Twoim zdaniem $i podzielone przez 5 będzie niby równe zero ?
mkotek
Posty: 13
Rejestracja: 06 czerwca 2007, 14:40

Post autor: mkotek »

a to nie jest tak ze pierwsza petla for zmienia swoje wartosci od wartosci 1 az do x??

moze zle kojarze ocb ale skoro $i to bedzie aktualna liczba z petli for to np 5/5 nie ma reszty wiec bedzie zero
chyba ze ja sie myle i mowie nie o tej `wersji` dzielenia
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

mkotek
5 podzielone przez 5 równa się 1 a nie zero
Zobacz co tu jest napisane apropo dzielenia : http://debian.linux.pl/viewtopic.php?p=15535#15535
mkotek
Posty: 13
Rejestracja: 06 czerwca 2007, 14:40

Post autor: mkotek »

no to moj blad przepraszam

ale i tak mnie interesuje najbardziej dlaczego mam wrazenie ze 1 petla jakby dzialala oddzielnie
przeciez to jest petla w petli
for <zmienna> ; do
zrób_coś
i_jeszcze_coś
done
a te
zrób_coś
i_jeszcze_coś
to jest druga petla
jang
Beginner
Posty: 208
Rejestracja: 26 stycznia 2007, 14:38

Post autor: jang »

Po pierwsze gdzie Ty widzisz 2 pętle ?
for to jest pętla ale if to już nie jest pętla

Kod: Zaznacz cały

x=10
for (( i=1; $i <= x; i++ )); do  
	if [ $i = 5 ]; then 
		echo "TERAZ Jest 5"; 
	else 
		echo "Jest "$i; 
	fi;
done
mkotek
Posty: 13
Rejestracja: 06 czerwca 2007, 14:40

Post autor: mkotek »

moj blad sorki
ODPOWIEDZ