- Forza sorozat (Horizon/Motorsport)
- EA Play - Napokon belül elérhető lesz a Star Wars Jedi: Survivor
- Elite: Dangerous
- PlayStation 5
- Bemutatkozott az Astropulse: Reincarnation
- Assetto Corsa Competizione
- EAFC 24
- Azonnali játékos kérdések órája
- Máris megrendelték a Fallout TV sorozat második szezonját
- 2024 - Íme a 17. héten megjelenő játékok listája
Új hozzászólás Aktív témák
-
ALI_G
veterán
Hi!
scriptet kell írjak hétfőig. Több közül lehetett választanom, remélem sikerült egy könyűt választani:
az argumentumként megadott szöveges fájlt 24 soronként írassuk ki a terminálra, amikor is egy billentyű leütésére várva megállunk, majd ha a felhsználó ütött, akkor tovább megy megint 24 sort.
argomentum kezelést, fájl listázását tudom hogy kell. A többire mondjatok már vmi parancs ötletet, és remélhetőleg akkor összetudom dobni.
TéHáX! -
ALI_G
veterán
találtam ilyet:
head ÁLLOMÁNY -n 24
ez elvileg azt csinálja, hogy az állomány első 24 sorát írja ki. Ezt vhogy rekurzívvá kéne tenni, és akkor 24 soronként írná ki. És azt hogy kéne. Meg, hogy ezekk özött várjon egy pl.: ENTER-t? Azt tudom, hogy egy read az simán vár egy karaktert. -
ALI_G
veterán
én itt keresgéltem a read-del kapcsban, de nem tudom hogy érted. Fájlból hogy olvassak be a read-del soronként?
A read-et csak úgy ismerem, hogy ENTER leütéséig olvassa a leütött karaktereket a Standard inputról. Ha átirányítom egy fájlba read > fájl, akkor beleírja. vagy vhogy így.
Te ezt hogy gondolod, mert én nemtom.
közben azért próbálkozom.
[Szerkesztve] -
ALI_G
veterán
igazad van, le is esett.
Viszont most olyan problémám van, hogy minden egyes alkalommal csak 1 sort olvas be a read:
#! /bin/bash
COUNT=0
while [ $COUNT -lt 2 ]
do
read sor < $1
echo $sor
COUNT=$(($COUNT+1))
done
azért 2-ig megy a count, mert kis fájlon tesztelem. Ha működni fog arra hogy kettessével irogassa Enterenként, akkor átírom 24-re. -
ALI_G
veterán
uh, kicsit sokáig voltam Pesten, tovább mint terveztem. Most jöttem, és van most is 1 kérdésem:
Ez mit jelent:?
IFS=$'\\\\n' -
ALI_G
veterán
nem mondom h teljesen értem, de innen szedtem: [link]
mod.: gáz van. Nemtok be SSH-zni suliba megnézni a bash manuálját, hogy lehet ezt megcsinálni: Ehhez célszerû elmenteni a ciklus elõtt az stdin fájlleíróját, és a belsõ readnek megadni.. Neten fent van magyarul?
most linuxot nincs kedvem letölteni (live), feltelepíteni meg végképp nem is tudnék hely hiányában.
[Szerkesztve] -
ALI_G
veterán
Nos, van egy kezdeményezésem a megoldásra, amit most nem áll módomban letesztelni.
#! /bin/bash
if test -f $1;
then
_____HOSSZ=`wc -l $1`
_____for ((i=1; i!= $[$HOSSZ+1]; ++i))
_____do
_____head -n $i | tail -n1
_____if [ $i -ge 2 ]; then
__________read
__________clear
_____fi
_____done
else echo ''Nem fájl!''
_____exit
fi
ps.: hiába rakom kódba, a szóközt/tabulálást nem tartja meg, de miért
Kérdésem: hol fog ez megbukni? Csak mert amennyire ismerem magam tuti nem fog műxeni
Az a bash mélységeibe vájós dolog nekem lehet nem menne, és most nem is tudnám meg se nézni, mert bexart a suliban a server, vagy csak szarakodnak velünk (ált. ZH előtt csinálnak vele vmi gubancot, vagy kötprog leadások előtt, hogy a hallgatónak esélye se legyen befejezni időben lassan azt kell hinnem ezt direkt csinálják)
[Szerkesztve] -
ALI_G
veterán
Van egy elméleti megoldásom. Félig vna csak shell-ben, mert nem volt időm buszon átnézni a szintaktikát (és gyorsan felejtek), de szerintem érthető lesz így is mit akartam.
Íme:
K=wc -l
x=1
for i=1 to K
do
if X<25
head -n i szoveg | tail -n 1 #ez tuti azt csinálja, h minden sort egyesével kiír.
x++
fi
read
X=1
rof
Tudom sok a szintaktikai hiba, de most csak az algoritmus helyessége a lényeg. Ha jó, akkor átírom amint lesz időm, csak holnap egy másik tárgyból ZH-zom. Ezt meg holnap estig kell leadjam.
[Szerkesztve] -
ALI_G
veterán
nah, átírtam shell scripté, kijavítottam pár apróságot:
K=wc -l $1
x=1
for ((i=1;i<=k;i++))
do
if $[ x -lt 25 ]
head -n i szoveg | tail -n 1 #ez tuti azt csinálja, h minden sort egyesével kiír.
x=x+1
fi
read
x=1
done -
ALI_G
veterán
a delimiter határolójelet jelent. Mostmár ezt is tudom. De legalább a hibás sort számát kiírhatná a linux shellje.
ps:
head -n $i ''$1'' | tail -n 1
ebben a ' ' az miért két karakter és miért nem egy: '' Igaz ugyanúgy néznek ki, de nem mind1 melyiket mikor használjuk. Ez itt jó?
ps2: már látom. valszeg ez lesz a hiba. A PH motorja az idézőjelet két karakterér bontja, vagy az XP vágólapja rosz. Kipróbálom sima idézőjellel, bár nem tudom ide miért is kell.
ps3: ja, mert a fájlban szóközök is lehetnek.
[Szerkesztve] -
ALI_G
veterán
bocs, de megint lejárt a módosítási időlimit.
Ugyanazt a hibát kaptam.
cut: invalid delimiter -
ALI_G
veterán
tényleg, mivel a sok szóközből 1et csinál mindig. De amúgy a code mód miért nem működik, régen ment vele rendesen a kód. nem vágta ki a tab-okat.
Amúgy oda miért kell 2 szóköz?
Amúgy a cut:...nál a cut-ra nem úgy néztem mintha a ódban lenne, hanem aztem a hibamagyarázás része. és mivel még linux buherátor sem vagyok, ezért aztem ilyen szűkszavú a linux, mint mindig is volt.
téháX
most try-olom.
ps: trájoltam, de ez az eredmény copy-ja:
rozi> chmod +x proba.sh
rozi> ./proba.sh bazlaat.sh
rozi>
visszakaptam a shell promtját vagy mit. Nem generált semmilyen látható kimenet.
[Szerkesztve] -
ALI_G
veterán
uf, ezen kívül van még 1 probléma:
átírtam a k értékét 66-ra, hogy lássam műxik e maga az algoritmus. Íme az eredmény egy részlete (ugyanis végtelen lett vhogy a ciklus):
rozi> ./ali_g.sh bazlaat.sh
66
usage: tail [+/-[n][lbc][f]] [file]
tail [+/-[n][l][r|f]] [file]
usage: tail [+/-[n][lbc][f]] [file]
tail [+/-[n][l][r|f]] [file]
usage: tail [+/-[n][lbc][f]] [file]
tail [+/-[n][l][r|f]] [file]
.......CTRL+C-ig csinálta, ment volna világgá -
ALI_G
veterán
uh hogy a fene enné meg és a fene fenét enne....
Nekem nincs jobb 5letem. Amit még 2 v 3 napja írtál a sima read-es, az meg nehéznek néz ki. Nem hiszem h van arra időm h kihámozzam, de ha nem találok semmit, akkor nekifogok úgy. Bár egyedül kétlem h menne.
Egy kívánságom van: tudjak eccer linuxul. -
ALI_G
veterán
re, h úgy mondjam.
El lett fogadva a scriptem. Viszont most újra kell scriptet írjak. Ezt most saját használatra.
A lényeg, hogy ki kell keressek egy mappát. A névben szerepelnie kell a kroc szónak.
Eddig ezem van:
#! /bin/bash
for a in $1/kroc*
do
echo $a
done
Ez sajna nem megy bele az almappákba rekurzívan. Ezt hogy tudom beletenni?
[Szerkesztve] -
ALI_G
veterán
igen, elég a parancs is.
ki is próbálom
ps:
eredmény:
rozi> find . -type d -name '*kroc*'
find: cannot read dir ./aset: Permission denied
find: cannot read dir ./local/etc/amanda: Permission denied
find: cannot read dir ./local/var/openldap-ldbm: Permission denied
find: cannot read dir ./local/var/openldap-slurp: Permission denied
find: cannot read dir ./local/var/amanda: Permission denied
rozi>
ez azt jelenti, hogy nem talált ott ahol próbálta? az az 5 pedig védett és nem mehetett bele?
[Szerkesztve] -
ALI_G
veterán
ment pü.
-
ALI_G
veterán
elmennek a pü-k, vagy nincs net?
az egrep-es majdnem megy, csak nemtom hogy is vannak a végére illeszkedés jele.
közben felfogtam a számológépeset.
[Szerkesztve] -
ALI_G
veterán
Jester01
47 pontos lett a 100-ból. 50 a minimum. Elég érdekesnek tűnik ez nekem, met akimeket írtál az mind jó szerintem is. Holnap megyek reklamálni. 4-ből 5 feladat szerintem jó lett. kb. 70 pontnak kellett volna lennie.
Új hozzászólás Aktív témák
- Politika
- Forza sorozat (Horizon/Motorsport)
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Ulefone Note 17 Pro - tolmácsot szeretnék kérni
- Xiaomi Smart Band 7 - hetedik
- Milyen monitort vegyek?
- RAM topik
- Új gamer monitorral lép színre az ASRock
- EA Play - Napokon belül elérhető lesz a Star Wars Jedi: Survivor
- Android alkalmazások - szoftver kibeszélő topik
- További aktív témák...
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows 10 Home COA fizikai licencek kiárusítás ingyenes szállítással
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eredeti Windows, telepítéssel! Digital Doctor Számítógép Szerviz