[linux-support] Per Script die aktuelle Version des stable Kernels suchen

Thomas Deutsch (Mailinglisten) thomas_mailinglisten at tuxpeople.org
Wed Apr 19 23:19:20 CEST 2006


miLosh wrote:
> Thomas Deutsch (Mailinglisten) schrieb:
> 
>> miLosh wrote:
>>
>>> hey thomas,
>>>
>>> Thomas Deutsch (Mailinglisten) schrieb:
>>>
>>>> lynx -dump http://www.kernel.org | grep bz2 | grep -v diff | grep -v 
>>>> patch | grep 2.6 | cut -d' ' -f5 | cut -d'-' -f2 | cut -d'.' -f-4
>>>>
>>>> Dies liefert das gewünschte Ergebniss. Nur: geht es auch einfacher? 
>>>> Kann mir jemand sagen ob man diesen "Ausdruck" vereinfachen kann?
>>>
>>>
>>> einfache variante: lynx -dump http://www.kernel.org | awk -F'/' 
>>> '/v2.6\/linux/ { print $8 }'
>>> liefert als output: linux-2.6.16.9.tar.bz2
>>>
>>> erweiterbar zum beispiel mit:
>>> lynx -dump http://www.kernel.org | awk -F'/' '/v2.6\/linux/ { print 
>>> substr($8,7,length($8)-14) }'
>>> liefert als output: 2.6.16.9
>>
>>
>> Cool, danke. gehe ich richtig das das einfach am ende die zeichen 7-14 
>> ausgibt? Da müsste man ev. noch was basteln, den 2.6.16.10 wäre ja 
>> dann Zeichen 7-15.
>>
> nein das funktioniert auch dann. 14 ist die anzahl an zeichen im string 
> $8 welche nicht zur gewünschten kernel version gehören, also 'linux-' 
> und '.tar.bz2' IIRC.
> substr sagt dann dass awk ab dem siebten zeichen im string 
> (totalAnzahlZeichen-14) ausgeben soll:
> 
> milosh at sphere>echo '8. 
> http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.10.tar.bz2' | 
> awk -F'/' '/v2.6\/linux/ { print substr($8,7,length($8)-14) }'
> ausgabe: 2.6.16.10

aha. Merci. Ich muss wol doch mal awk lernen, das kann ich leider nicht. 
Sag mal, ist awk auf allen Linuxsystemen per default drauf?

mfg

Thomas


More information about the Linux-support mailing list