Linux:Sed és awk
(Változatok közti eltérés) (→Awk) |
(→Awk) |
||
33. sor: | 33. sor: | ||
cat /etc/passwd | awk -F: '{ print $1; }' | cat /etc/passwd | awk -F: '{ print $1; }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Készíts programot, mely kiszámítja a 3 négyzetét! A kiíráshoz használd a printf() függvényt! <megoldas> | * Készíts programot, mely kiszámítja a 3 négyzetét! A kiíráshoz használd a printf() függvényt! <megoldas> | ||
<code lang="bash"> <megoldas> | <code lang="bash"> <megoldas> | ||
42. sor: | 41. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Írasd ki a /etc/passwd fájlban található UID-eket lebegőpontos (6 egész és 2 tizedes), egész, oktális és hexadecimális számként, végül jelenítsd meg a felhasználó bejelentkezési nevét is! <megoldas> | * Írasd ki a /etc/passwd fájlban található UID-eket lebegőpontos (6 egész és 2 tizedes), egész, oktális és hexadecimális számként, végül jelenítsd meg a felhasználó bejelentkezési nevét is! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
51. sor: | 49. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Írasd ki a /etc/passwd fájl tartalmát nagybetűssé alakítva! Az egyes sorok legyenek sorszámozva! <megoldas> | * Írasd ki a /etc/passwd fájl tartalmát nagybetűssé alakítva! Az egyes sorok legyenek sorszámozva! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
61. sor: | 58. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Számítsd ki a /etc/passwd fájlban levő UID-ek összegét és átlagát! (Tudjuk, hogy ez az adat semmire sem utal, csupán azért használjuk ezt a fájlt, mert minden rendszerben megtalálható.) <megoldas> | * Számítsd ki a /etc/passwd fájlban levő UID-ek összegét és átlagát! (Tudjuk, hogy ez az adat semmire sem utal, csupán azért használjuk ezt a fájlt, mert minden rendszerben megtalálható.) <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
77. sor: | 73. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Írd ki a képernyőre a /etc/group fájl leghosszabb sorát! [Módosíthatod a feladatot úgy, hogy a legrövidebb nem üres sort jelentítsd meg!] <megoldas> | * Írd ki a képernyőre a /etc/group fájl leghosszabb sorát! [Módosíthatod a feladatot úgy, hogy a legrövidebb nem üres sort jelentítsd meg!] <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
98. sor: | 93. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Ellenőrizd, hogy mely felhasználóknak van 0-s UID-jük a /etc/passwd-ben! (Ezek teljes jogkörrel rendelkeznek a Unix rendszerekben.) <megoldas> | * Ellenőrizd, hogy mely felhasználóknak van 0-s UID-jük a /etc/passwd-ben! (Ezek teljes jogkörrel rendelkeznek a Unix rendszerekben.) <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
110. sor: | 104. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Jelenítsd meg az acer.txt fájl sorait úgy, hogy a 40 karakternél hosszabb sorokat ne teljes hosszukban, hanem csak az első 40 karakterig írd ki, és annak jelzésére, hogy a sor ennél hosszabb, a végére írj három pontot! Minden sor elején jelenjen meg, hogy mekkora annak teljes hossza! <megoldas> | * Jelenítsd meg az acer.txt fájl sorait úgy, hogy a 40 karakternél hosszabb sorokat ne teljes hosszukban, hanem csak az első 40 karakterig írd ki, és annak jelzésére, hogy a sor ennél hosszabb, a végére írj három pontot! Minden sor elején jelenjen meg, hogy mekkora annak teljes hossza! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
129. sor: | 122. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Jelenítsd meg a 10-nél kisebb pozitív egész számokat és négyzeteiket! <megoldas> | * Jelenítsd meg a 10-nél kisebb pozitív egész számokat és négyzeteiket! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
139. sor: | 131. sor: | ||
} | } | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Jelenítsd meg az /etc/passwd fájl sorait úgy, hogy a mezőket visszafelé íratod ki! Azaz az első mező utolsóként, a második utolsó előttiként, az utolsó pedig elsőként jelenjen meg! <megoldas> | * Jelenítsd meg az /etc/passwd fájl sorait úgy, hogy a mezőket visszafelé íratod ki! Azaz az első mező utolsóként, a második utolsó előttiként, az utolsó pedig elsőként jelenjen meg! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
149. sor: | 140. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Jelenítsd ,eg az /etc/passwd fájlt úgy, hogy minden sort visszafelé íratsz ki! <megoldas> | * Jelenítsd ,eg az /etc/passwd fájlt úgy, hogy minden sort visszafelé íratsz ki! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
168. sor: | 158. sor: | ||
}’ | }’ | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Írasd ki az /etc/passwd fájt sorait visszafelé, azaz a legutolsó sor jelenjen meg elsőként, az első pedig utolsóként! <megoldas> | * Írasd ki az /etc/passwd fájt sorait visszafelé, azaz a legutolsó sor jelenjen meg elsőként, az első pedig utolsóként! <megoldas> | ||
<code lang="bash"> | <code lang="bash"> | ||
179. sor: | 168. sor: | ||
}' | }' | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
- | |||
* Készíts a /tmp/szolista.txt fájl szavairól előfordulási gyakoriságukat tartalmazó listát! A lista legyen rendezett, elöl a legtöbbet előforduló szó szerepeljen! Példa a kimenetre: | * Készíts a /tmp/szolista.txt fájl szavairól előfordulási gyakoriságukat tartalmazó listát! A lista legyen rendezett, elöl a legtöbbet előforduló szó szerepeljen! Példa a kimenetre: | ||
**292 the | **292 the | ||
**166 a | **166 a | ||
**156 of <megoldas> | **156 of <megoldas> | ||
- | |||
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
201. sor: | 187. sor: | ||
}' | sort -n -r | more | }' | sort -n -r | more | ||
</code></megoldas> | </code></megoldas> | ||
- | |||
* Készíts gyakorisági listát a /etc/passwd fájlban található shellekről, melyik hányszor fordul elő? <megoldas> | * Készíts gyakorisági listát a /etc/passwd fájlban található shellekről, melyik hányszor fordul elő? <megoldas> | ||
<code lang="bash"> | <code lang="bash"> |
A lap 2010. április 25., 20:10-kori változata
Sed
- Készíts shell scripet, mely egy megadott fájl tartalmát úgy jeleníti meg, hogy az összes
this code> szót cseréli a
that code> szóra!
- Az előző feladatot oldd meg úgy, hogy a módosított szöveget írd vissza az eredeti fájlba! A módosítás előtti állapotról .bak kiterjesztéssel készüljön egy biztonsági másolat!
Awk
- Készíts awk programot, mely a /etc/passwd fájlból kiírja a felhasználók bejelentkezési neveit!
- Készíts programot, mely kiszámítja a 3 négyzetét! A kiíráshoz használd a printf() függvényt!
- Írasd ki a /etc/passwd fájlban található UID-eket lebegőpontos (6 egész és 2 tizedes), egész, oktális és hexadecimális számként, végül jelenítsd meg a felhasználó bejelentkezési nevét is!
- Írasd ki a /etc/passwd fájl tartalmát nagybetűssé alakítva! Az egyes sorok legyenek sorszámozva!
- Számítsd ki a /etc/passwd fájlban levő UID-ek összegét és átlagát! (Tudjuk, hogy ez az adat semmire sem utal, csupán azért használjuk ezt a fájlt, mert minden rendszerben megtalálható.)
- Írd ki a képernyőre a /etc/group fájl leghosszabb sorát! [Módosíthatod a feladatot úgy, hogy a legrövidebb nem üres sort jelentítsd meg!]
- Ellenőrizd, hogy mely felhasználóknak van 0-s UID-jük a /etc/passwd-ben! (Ezek teljes jogkörrel rendelkeznek a Unix rendszerekben.)
- Jelenítsd meg az acer.txt fájl sorait úgy, hogy a 40 karakternél hosszabb sorokat ne teljes hosszukban, hanem csak az első 40 karakterig írd ki, és annak jelzésére, hogy a sor ennél hosszabb, a végére írj három pontot! Minden sor elején jelenjen meg, hogy mekkora annak teljes hossza!
- Jelenítsd meg a 10-nél kisebb pozitív egész számokat és négyzeteiket!
- Jelenítsd meg az /etc/passwd fájl sorait úgy, hogy a mezőket visszafelé íratod ki! Azaz az első mező utolsóként, a második utolsó előttiként, az utolsó pedig elsőként jelenjen meg!
- Jelenítsd ,eg az /etc/passwd fájlt úgy, hogy minden sort visszafelé íratsz ki!
- Írasd ki az /etc/passwd fájt sorait visszafelé, azaz a legutolsó sor jelenjen meg elsőként, az első pedig utolsóként!
- Készíts a /tmp/szolista.txt fájl szavairól előfordulási gyakoriságukat tartalmazó listát! A lista legyen rendezett, elöl a legtöbbet előforduló szó szerepeljen! Példa a kimenetre:
- 292 the
- 166 a
- 156 of
- Készíts gyakorisági listát a /etc/passwd fájlban található shellekről, melyik hányszor fordul elő?