[linux-l] [Lösung-II] awk
Peter Ross
Peter.Ross at bogen.in-berlin.de
Do Aug 4 07:32:30 CEST 2011
Quoting "Olaf Radicke" <briefkasten at olaf-radicke.de>:
> Peter Ross <Peter.Ross at bogen.in-berlin.de> hat am 4. August 2011 um 03:01
> geschrieben:
>
>> Wenn ich das Projekt verstehe, koenntest Du jedes Binary reinhaengen
>> (z.B. mit C++ erzeugt)?
>
> Theoretisch und Praktisch schon. Nur sperrt sich der Hauptentwickler von
> Open-Sharedroot-initrd-ng dagegen, und der von Dracut - vermutlich - auch.
Was ist der Grund? Awk ist in C geschrieben, dash auch;-)
> Es gibt folgende Limmits in AWK-Funktionen:
> - Übergebene Variablen (Parameter) sind lokal.
> - Funktionen können keine komplexen Datentypen wie Array zurückgeben.
Aber ein Array als Parameter kann veraendert werden, nach meiner
Ubuntu-Manpage [gawk, nehme ich an):
Functions are passed expressions by value and arrays by
reference. .. For example, csplit(s,A) puts each character of s into
array A and returns the length of s.
function csplit(s, A, n, i)
{
n = length(s)
for( i = 1 ; i <= n ; i++ ) A[i] = substr(s, i, 1)
return n
}
[Die FreeBSD-Manpage fuer nawk bejaht das auch: "Parameters are
passed by value if scalar and by reference if array name"]
Gruss
Peter
Mehr Informationen über die Mailingliste linux-l