[UBK dev] kdeapps

Kiss Attila attus at enterpriseforever.com
2016. Dec. 21., Sze, 22:02:41 CET



2016-12-21 19:01 keltezéssel, Nemeth Akos írta:
>   download.kde oldalon pedig egy könyvtárban
> van a ktorrent-el, így annak a verziószámát veszi. (mivel az 5.0.1, a
> libktorrent meg 2.0.1

Ez volt a tiédben:
u2d http://download.kde.org/stable/ktorrent/5.0/

Ez jó lenne, de az u2d -nek van paramétere, az első az url, a második a 
verziószám előtti rész, a harmadik a "tarprefix", azaz a verziószám és 
az akármilyen tömörítési kiterjesztés közti rész. Itt a fenti címen 
ktorrent-5.01.tar.xz és libktorrent-2.0.1.tar.xz fájlok vannak. Ezek 
szerint második paraméternek a ktorrent- kell, hogy csak azt adja 
vissza, mert anélkül az ott létező valamennyiből a legnagyobbat adja 
vissza. Tarprefix nem kell, mivel a verziószámot rögtön .tar.xz követi.

Tehát ez már jót is ad vissza így:
u2d http://download.kde.org/stable/ktorrent/5.0/ ktorrent-
2.0.1

De nekem még nem tetszik, mert mi van, ha nem csak 5.0 mappák lesznek 
itt később, hanem majd szaporodnak?
Ezért az 5.0 helyébe egy változó kívánkozik.
Ennek a változónak az értékét meg lehet adni a leendő u2d fájl első 
sorában amir én a jó öreg urrlist eljárást találtam alkalmasnak.


Próbálkozással építem fel az u2d -t.

1. próba
urllist http://download.kde.org/stable/ktorrent/

Kimenet:
stable
5.0
mirrorbrain.org
httpd.apache.org

Megszűröm a kimentete a *grep* -el. A grep paraméterének szabványos 
kifejezést adok meg, *'^[0-9]'*


Ez a hieroglifa magyarra fordítva: azok a sorok maradjanak csak meg, 
amik közvetlen a sor elején valamilyen számjegyet tartalmaznak.

A hieroglifák magyarázata:

*^*    sorkezdetre illeszkedik a minta
*[0-9] *    egy darab bármilyen számjegy


2. Az új u2d próba sor

urllist http://download.kde.org/stable/ktorrent/ | grep '^[0-9]'

Kimenet:

5.0

Reméljük, hogy itt a jövőben csak verziószámok lesznek és nem például 
99-unstable mappa....

Azért, hogy a jövőben a leendő újabb verziószámú könyvtárakből majd a 
legnagyobb legyen az egyetlen kimenet, ezért sorbaszedem őket a *sort 
-V* paranccsal.
A sort parancs -V paramétere a verziószám szerinti sorbarendezésre 
utasítja a sort parancsot. Ebből a leendő felsorolásból a tail -n 1 
parancs csak a legutolsót hagyja csak meg, ami mindig a legnagyobb lesz.

Tehát:

urllist http://download.kde.org/stable/ktorrent/ | grep '^[0-9]' | sort 
-V | tail -n 1

Ennek most persze ugyanez a kimenete, hisz csak egyetlen egy mappa van itt.
Ezt az egészet beteszem egy dir nevű változóba, és próbaképp a második 
sorban ezt kiechóztatom

dir=$(urllist http://download.kde.org/stable/ktorrent/ | grep '^[0-9]' | 
sort -V | tail -n 1)
echo $dir

Kimenet:

5.0

És a végkifejlet, hogy ezt a $dir változót illesztem be az u2d parancs 
első paraméterébe.

dir=$(urllist http://download.kde.org/stable/ktorrent/ | grep '^[0-9]' | 
sort -V | tail -n 1)
u2d http://download.kde.org/stable/ktorrent/$dir/ libktorrent-

Ennek kimenete:
*2.0.1*

Remélem segített valamit.
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.ubk.hu/pipermail/dev/attachments/20161221/9a8b852b/attachment.html>


More information about the dev mailing list