rilpoint_mw113

Linux:Ciklusok

(Változatok közti eltérés)
(Új oldal, tartalma: „=Ciklusok= * Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat! <code lang="bash"> #!/bin/bas…”)
(Ciklusok)
 
(13 közbeeső változat nincs mutatva)
1. sor: 1. sor:
=Ciklusok=
=Ciklusok=
-
 
+
<kivonat>for, seq, while, (expr, mail)</kivonat>
-
* Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat!
+
* Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
13. sor: 13. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
+
* Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
22. sor: 22. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* A ''cimek.txt'' fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!
+
* A ''cimek.txt'' fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
33. sor: 33. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
 +
<box>
A cimek.txt fájl tartalma:
A cimek.txt fájl tartalma:
<code lang="bash">
<code lang="bash">
40. sor: 41. sor:
user3@vipmail.hu
user3@vipmail.hu
</code>
</code>
-
 
+
</box>
-
* Készíts shell scriptet, mely 3-tól 20-ig kettes lépésközzel ír ki számokat!
+
* Alakítsd át a múlt órán írt négyzet területét és kerületét kiszámító programot úgy, hogy ne csak egy négyzet adatait dolgozza fel: egy négyzet feldolgozása után kérje be a következő oldalának hosszát. Az adatsor végét a már ismert '''CTRL-z''' jelezze. A program neve legyen '''negyzet2'''!<megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
-
LISTA=`seq 1 2 10`
+
while read OLDAL ; do
 +
  KER=`expr $OLDAL \* 4`
 +
  TER=`expr $OLDAL \* $OLDAL`
 +
  echo "A $OLDAL oldalú négyzet kerülete $KER, területe $TER."
 +
done
 +
</code>
 +
</megoldas>
 +
* Példa a bemenet átirányítására: készítse el az oldal2.txt fájlt, mely soronként egy pozitív egész számot tartalmazzon. Használja fel az előző feladatban készített negyzet2 nevű programot úgy, hogy a szövegfájlban levő összes adatra végezze el a terület és kerület kiszámítását!<megoldas>
 +
<code lang="bash">
 +
./negyzet2 < oldalak.txt
 +
</code></megoldas>
 +
<box>
 +
Példa az oldalak.txt fájl tartalmára:
 +
<code lang="bash">
 +
3
 +
12
 +
43
 +
23
 +
</code>
 +
</box>
 +
* Készíts shell scriptet, mely 3-tól 20-ig kettes lépésközzel ír ki számokat! <megoldas>
 +
<code lang="bash">
 +
#!/bin/bash
 +
LISTA=`seq 3 2 20`
for I in $LISTA ; do
for I in $LISTA ; do
   echo $I
   echo $I
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts shell scriptet, mely a nap minden órájára kiírja az akkor helyes köszönés formát! (pl reggel 8-kor "jó reggelt kívánok").
+
* Készíts shell scriptet, mely a nap minden órájára kiírja az akkor helyes köszönés formát! (pl reggel 8-kor "jó reggelt kívánok"). <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
67. sor: 91. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts shell scriptet, mely sorban feldolgozza az /etc könyvtár .conf kiterjesztésű fájljait! (A feldolgozás jelentse azt, hogy a program kiírja: "Feldolgozás: <fileneve>"!)
+
* Készíts shell scriptet, mely sorban feldolgozza az /etc könyvtár .conf kiterjesztésű fájljait! (A feldolgozás jelentse azt, hogy a program kiírja: "Feldolgozás: <fileneve>"!) <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
75. sor: 99. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts olyan shell scriptet, mely másolatot készít a 10 bájtnál nagyobb méretű .txt fájlokról, hozzáfűzve az aktuális dátumot a fájlnévhez ééééhhnn formában.
+
* Készíts olyan shell scriptet, mely másolatot készít a 10 bájtos, vagy annál nagyobb méretű .txt fájlokról, hozzáfűzve az aktuális dátumot a fájlnévhez ééééhhnn formában. <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
# Magyar Péter
# Magyar Péter
-
 
DATUM=`date +%Y%m%d`
DATUM=`date +%Y%m%d`
for FILE in ~/*.txt; do
for FILE in ~/*.txt; do
90. sor: 113. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts shell scriptet, mely a billentyűzetről beolvasott sorokat nagybetűssé alakítja! A programot a "vege" szó begépelésével lehessen megállítani!
+
* Készíts shell scriptet, mely a billentyűzetről beolvasott sorokat nagybetűssé alakítja! A programot a "vege" szó begépelésével lehessen megállítani! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
98. sor: 121. sor:
   # A feltétel igazsága esetén lefut a break parancs
   # A feltétel igazsága esetén lefut a break parancs
   [ $SOR = "vege" ] && break
   [ $SOR = "vege" ] && break
-
   echo $SOR | tr [a-z] [A-Z]
+
   echo $SOR | tr '[a-z]' '[A-Z]'
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
+
* Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
110. sor: 133. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* A ''cimek.txt'' fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!
+
* A ''cimek.txt'' fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
121. sor: 144. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
-
* Az ''adatok.txt'' fájl soronként két, szóközzel elválasztott számot tartalmaz. Készíts shell scriptet, mely az ebben levő számpárokat egy téglalap oldalaiként dolgozza fel, és kiírja azok kerületét és területét!
+
* Az ''adatok.txt'' fájl soronként két, szóközzel elválasztott számot tartalmaz. Készíts shell scriptet, mely az ebben levő számpárokat egy téglalap oldalaiként dolgozza fel, és kiírja azok kerületét és területét! <megoldas>
<code lang="bash">
<code lang="bash">
#!/bin/bash
#!/bin/bash
134. sor: 157. sor:
done
done
</code>
</code>
-
 
+
</megoldas>
 +
<box>
Az adatok.txt fájl tartalma:
Az adatok.txt fájl tartalma:
<code lang="bash">
<code lang="bash">
143. sor: 167. sor:
9 10
9 10
</code>
</code>
 +
</box>
 +
 +
* A /tmp könyvtárban cnt kiterjesztésű fájlok vannak. Minden fájl neve egy e-mail cím, a tartalma pedig az aznap kiküldött e-mailek száma. Készíts programot, amely levélszám szerinti sorrendben sorrendben megjeleníti a levélküldők listáját!<megoldas>
 +
<code lang="bash">
 +
#!/bin/bash
 +
for I in /tmp/*.cnt ; do
 +
  N=`cat $I`
 +
  echo $N `basename $I`
 +
done | sort -n
 +
</code>
 +
</megoldas>

A lap jelenlegi, 2016. április 7., 06:56-kori változata

Ciklusok

Kivonat: for, seq, while, (expr, mail)
  • Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat!
  • Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
  • A cimek.txt fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!

A cimek.txt fájl tartalma:

test1@freemail.hu
test2@gmail.com
user3@vipmail.hu
  • Alakítsd át a múlt órán írt négyzet területét és kerületét kiszámító programot úgy, hogy ne csak egy négyzet adatait dolgozza fel: egy négyzet feldolgozása után kérje be a következő oldalának hosszát. Az adatsor végét a már ismert CTRL-z jelezze. A program neve legyen negyzet2!
  • Példa a bemenet átirányítására: készítse el az oldal2.txt fájlt, mely soronként egy pozitív egész számot tartalmazzon. Használja fel az előző feladatban készített negyzet2 nevű programot úgy, hogy a szövegfájlban levő összes adatra végezze el a terület és kerület kiszámítását!

Példa az oldalak.txt fájl tartalmára:

3
12
43
23
  • Készíts shell scriptet, mely 3-tól 20-ig kettes lépésközzel ír ki számokat!
  • Készíts shell scriptet, mely a nap minden órájára kiírja az akkor helyes köszönés formát! (pl reggel 8-kor "jó reggelt kívánok").
  • Készíts shell scriptet, mely sorban feldolgozza az /etc könyvtár .conf kiterjesztésű fájljait! (A feldolgozás jelentse azt, hogy a program kiírja: "Feldolgozás: <fileneve>"!)
  • Készíts olyan shell scriptet, mely másolatot készít a 10 bájtos, vagy annál nagyobb méretű .txt fájlokról, hozzáfűzve az aktuális dátumot a fájlnévhez ééééhhnn formában.
  • Készíts shell scriptet, mely a billentyűzetről beolvasott sorokat nagybetűssé alakítja! A programot a "vege" szó begépelésével lehessen megállítani!
  • Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
  • A cimek.txt fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!
  • Az adatok.txt fájl soronként két, szóközzel elválasztott számot tartalmaz. Készíts shell scriptet, mely az ebben levő számpárokat egy téglalap oldalaiként dolgozza fel, és kiírja azok kerületét és területét!

Az adatok.txt fájl tartalma:

1 2
3 4
5 6
7 8
9 10
  • A /tmp könyvtárban cnt kiterjesztésű fájlok vannak. Minden fájl neve egy e-mail cím, a tartalma pedig az aznap kiküldött e-mailek száma. Készíts programot, amely levélszám szerinti sorrendben sorrendben megjeleníti a levélküldők listáját!
Skin by RIL Partner