Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Linux Bash programozás

318
A feladat az alábbi:

Az sh script legalább 3 weboldalról gyűjtse össze a hírek főcímét (linkjeit) és írja ki a híreket olyan formában, hogy forrás : hír
Lehetőség szerint a forrást más színnel jelenítse meg.

További követelmények:

A program működése feleljen meg a UNIX alapelveinek, amit kell, azt csinálja megbízhatóan, minden sallang nélkül.
Ha nem tudja értelmezni argumentumait, akkor valami ehhez hasonló módon tájékoztasson:
$>ls -G
ls: Not a recognized flag: G
Usage: ls [-1ACFLNRabcdefgilmnopqrstux] [File...]

Minden feladatnak futnia kell UNIX alatt.
Használja a szabványos ki- és bemeneti fájlokat, a működésének ne legyenek mellékhatásai.
(pl. ne hagyjon maga után szemetet, stb.)

A programhoz szükséges minden inputot argumentumként adjon át,
és a program ellenőrizze is le az összes megadott argumentumot (darabszám, típus, stb.).

A programhoz írjon rövid helpet (hívható legyen a programnév –h kapcsolóval),
ami rövid tájékoztatást ad a működésről, a szükséges argumentumokról, kapcsolókról, azok típusáról, stb.

Használjon „beszédes” változóneveket és megfelelő kommentárral lássa el a programot.
(A megfelelő nem azt jelenti, hogy minden programsort 4 másikban magyaráz meg!)
Jelenleg 1 felhasználó nézi ezt a kérdést.
#Unix, #programozás, #Bash, #Shell, #Script, #Linux
0
Felsőoktatás / Informatika

Válaszok

1
Rákerestem, hogy mások hogyan oldották meg és az egyetlen épkézláb ötlet az RSS használata volt. Hát összeszedtem egy csokorral.

#!/bin/bash

declare -A rss_lista=(
    ['Index']='https://index.hu/24ora/rss/'
    ['RTL']='https://rss.rtl.hu/'
    ['Hirek Ma']='https://hirek.ma/feed'
)

for forras in "${!rss_lista[@]}"; do
    curl --silent "${rss_lista[$forras]}" |
    xmlstarlet sel -t -v '/rss/channel/item/title' |
    while IFS='' read -r cim; do
        echo "$forras : $cim"
    done
done

Használt segédprogramok:
    • cURL (https://curl.se/) — protokoll alapú adatátvitel
    • XMLStarlet (https://xmlstar.sourceforge.net/) — XPath alapú XML kezelés
1