alucard7
Goto Top

Ausgabe von awk in Variable speichern in batch Datei ohne for

Hi an alle,

ich feile im Moment an meinen batch-Skripten und kam zu dem Ergebnis, dass awk ja eigentlich wesentlich schneller arbeitet als eine for-Schleife.

Jedoch kann ich über awk keine Variablen zur externen Verwendung setzen, da awk keine Programme, wie `set`, ausführen kann.

Kennt vielleicht irgendjemand einen Weg Variablen ohne set oder sonst irgendwie mit awk zu setzen?

Falls es eine Möglichkeit gäbe, wie in Linux: variable1=`echo test123`, wäre ich auch zufrieden face-smile

mfg Alucard7

Content-Key: 178633

Url: https://administrator.de/contentid/178633

Printed on: April 24, 2024 at 16:04 o'clock

Member: icsat
icsat Jan 10, 2012 at 10:39:51 (UTC)
Goto Top
Hallo Alucard7

mir fällt dazu spontan nur das Schreiben der awk-Ausgabe mit z.B.: "{ print \"set variable=\"$1 }" in eine Datein ein, welche dann in der Folge mit call aufgerufen wird.

Beispiel:
Ich brauche das aktuelle Datum im Format yyyymmdd und möchte zu Demonstrationszwecken unbedingt awk verwenden, was ich im Normalfall natürlich nie machen würde:
date /t | awk -F" " "{print $1}" | awk -F. "{print \"set datum=\"$3 $2 $1}" >~datum.bat  
call ~datum.bat
del ~datum.bat
echo %datum%

Bin jetzt kein awk-Experte, aber ich denke es wird klar wie ich es gemeint habe.


Gruß icsAT
Member: Alucard7
Alucard7 Jan 10, 2012 at 11:20:51 (UTC)
Goto Top
Hi icsAT,

Vielen Dank für die Antwort!

Ich werde deinen Vorschlag nach meiner Mittagspause testen und berichten, wie es ausgegangen ist ;)

vg Alucard7
Member: Alucard7
Alucard7 Jan 10, 2012 at 13:02:10 (UTC)
Goto Top
Hi icsAT,

ich habe dein Skript mal gestestet und es funktioniert soweit ganz gut.

Über solch einen Ansatz habe ich bisher nicht nachgedacht face-smile

Ich muss jetzt noch schauen, wie ich das möglichst gewinnbringend verbauen kann.

Vielen Dank soweit!

mfg Alucard7