Mailinglist Archive: opensuse-de (4888 mails)
| < Previous | Next > |
Variablen von sh nach awk retten
- From: carsten.meyer@xxxxxxxxxxxxxxxxxx (Carsten Meyer)
- Date: Tue Sep 21 08:34:45 1999
- Message-id: <99092111132501.00312@cm>
Ich habe ein kleines Programm mit der Übergabe von Variablen in awk
und komme da nicht weiter.
Ich rufe ein Shell-Script mit Parameter auf:
"cachelog harmlos html" bzw "cachelog harmlos text"
#!/bin/sh
# "harmlos" wird im sh-Teil abgearbeitet. Ist also harmlos ;-)
title="cache $(date) (by name)"
export FILTER=$2
echo "<html><head><title>$title</title></head><body>" > cachelog.html
awk -F ";" '
/\;$FILTER/ || /$FILTER\;/ && !/%/ \
{
printf ...
So schaut's aus! Was ich machen möchte ist folgendes:
Ich rufe das sh-Script mit Parameter "html" auf. In der Zeile
/\;$FILTER/ || /$FILTER\;/ && !/%/ \
soll $FILTER durch den Parameter ersetzt werden.
Zum Verständnis: Meine Datei sieht so aus:
1234;text/html;http://foo.bar/a.html
2345;text/plain;http://foo.bar/textfiles/b
7643;image/png;http://abc.de/xxx.png
0666;text/html;http://www.winrechner.de/kauf%20mich/SE.htm
Ein Beispiel: "text/html" ist durch zwei Semikolons (Semikoli?)
abgegrenzt. Ich möchte nur Zeilen mit "html;" bearbeiten. Windows-Namen
müssen leider draußen bleiben, weil awk doch leichte Probleme mit dem
Prozentzeichen hat :-)
Wenn ich ohne Parameter arbeite und die Zeile
/\;html/ || /html;/ && !/%/ \
lautet, funktioniert das wunderbar.
Also entweder ";html" oder "html;" aber nichts mit "%"!
Es bleibt danach nur eine dieser Zeilen übrig:
1234;text/html;http://foo.bar/a.html
Wenn ich alle Textdokumente haben möchte, lautet die Zeile
/\;text/ || /text;/ && !/%/ \
Auch das funktioniert. Übrig bleiben also:
1234;text/html;http://foo.bar/a.html
2345;text/plain;http://foo.bar/textfiles/b
Jetzt dürfte klar sein, was ich möchte. Oder ..?
Wie kann ich diese verdammte Variable ordentlich übergeben?
Carsten
---------------------------------------------------------------------
To unsubscribe, e-mail: suse-linux-unsubscribe@xxxxxxxx
For additional commands, e-mail: suse-linux-help@xxxxxxxx
| < Previous | Next > |