Page 1 of 1

AWK Befehl

Posted: 09. Feb 2007 14:31
by idlaW
Hallo zusammen,

kann mir jemand sagen ob ich mit dem dem awk Befehl folgendes machen kann:

Ich habe zwei Script Dateien vorliegen.
Mit der ersten Datei rufe ich quasi die zweite Datei auf die mir in zwei Dateien etwas ändern soll (Textinhalt). Das große Problem ist dass in der zweiten Script Datei keine Dateien stehen welche er benutzen soll sondern einfach nur z.B. copy %1 %2 (Windows batch Programmierung).
Das heißt soviel dass er bei dem Befehl
copy Datei1 c:\temp\Datei2 z.B. Datei1 nach c:\temp\ koppiert.

Und genau die %1 und %2 (quasi die Optionen) habe ich in der zweiten Scriptdatei :-(
Ich weiß nur nicht ob das mit dem Befehl awk funktioniert und wenn doch wie.

Falls jemand eine Idee hat wie dies funktionieren könnte, würde ich mich sehr freuen mir einen kleinen Tipp zu geben.

Vielen Dank im voraus

Gruß

Posted: 09. Feb 2007 14:48
by Janka
Ersetze in der zweiten Datei überall %1 durch $1, %2 durch $2 etc. Dann kannst du die zweite Datei einfach mit den passenden Parametern aufrufen.

Du solltest dir überlegen, das ganze Verfahren, was ihr da durchzieht, zu ändern. Die MS-Windows-Batch-Sprache ist dämlich wie'n Stück Holz. Würde mich nicht wundern, wenn dein Vorgänger den ganzen Zirkus nur veranstaltet hätte, um dämliche Limitierungen (die es z.B. mit bash dann sowieso nicht gibt) zu umgehen.

Janka

Posted: 09. Feb 2007 15:32
by idlaW
Hi Janka,

aber mit $1 spreche ich doch nur eine Variable oder?
was meinst Du mit dem passenenden Befehl aufrufen? Den AWK Befehl?

Posted: 09. Feb 2007 21:27
by Janka
Tut mir leid, wir finden anscheinend keine gemeinsame Sprache.

Ich meinte, du sollst in der Datei einmalig %1 etc. durch %2 ersetzen, copy durch cp etc. (zum Beispiel mit einem Editor), dann kann man diese Datei einfach als Bashscript aufrufen.

Falls diese Datei generiert wird, ist natürlich sed das Mittel der Whal. Oder man denkt sich halt ein ganz neues Skript aus, dass die entsprechende Aufgabe bewältigt. Dazu müsste man aber genau wissen, was das Bestehende tut.

Janka