Hallo Liste ! Mit script(batch?)-progamming habe ich mich bis jetzt noch nicht beschaetigt. Hier ein ganz einfaches Batchprog. Es soll nix anderes machen, als den uebergebenen Parameter bei grep als suchstring einsetzten. aufruf: "tel name" cut---tel----- cat adress.txt|grep %1 -i -A5 -B5 cut--- (x-bit ist natuerlich gesetzt) wieso funzt das nicht ? Es kommt ueberhaupt kein Resultat. Beim direkten Aufruf von cat auf kommandozeile mit name an stelle v. %1 funzt es. Was fuern "Denkfehler" mach ich da ? Danke fuer Eure Hilfe ! Gruss Matthias --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Matthias Dort wrote:
Mit script(batch?)-progamming habe ich mich bis jetzt noch nicht beschaetigt. Hier ein ganz einfaches Batchprog. Es soll nix anderes machen, als den uebergebenen Parameter bei grep als suchstring einsetzten. aufruf: "tel name"
Unter Unix/Linux redet man von Shell-Skripten, nicht Batch-Dateien.
cut---tel----- cat adress.txt|grep %1 -i -A5 -B5 cut--- (x-bit ist natuerlich gesetzt)
wieso funzt das nicht ? Es kommt ueberhaupt kein Resultat. Beim direkten Aufruf von cat auf kommandozeile mit name an stelle v. %1 funzt es.
Diese Zeile im Script reicht: /usr/bin/grep $1 /pfad/zu/adress.txt -i -A5 -B5 ^^^^^^^^^^^^^ | | | | Variablennamen werden mit einem führenden Dollar-Zeichen | bezeichnet | um sicher zu sein, dass wirklich das richtige Programm aufgerufen wird, wird der Pfad mit angegeben Da man grep einen Dateinamen zum Durchsuchen übergeben kann, ist der Aufruf von "cat" überflüssig. christian -- Bitte kein CC: bei Antwort an Mailingliste Etikette per Mail: To: mailings-suse@gmx.de Subject: send etikette http://www.ndh.net/home/schult/etikette.html --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Matthias Dort schrieb am 19.Mai.2000:
Mit script(batch?)-progamming habe ich mich bis jetzt noch nicht beschaetigt. Hier ein ganz einfaches Batchprog. Es soll nix anderes machen, als den uebergebenen Parameter bei grep als suchstring einsetzten. aufruf: "tel name"
cut---tel----- cat adress.txt|grep %1 -i -A5 -B5 cut--- (x-bit ist natuerlich gesetzt)
Versuch es mal mit: grep -i -A5 -B5 $1 adress.txt
wieso funzt das nicht ? Es kommt ueberhaupt kein Resultat. Beim direkten Aufruf von cat auf kommandozeile mit name an stelle v. %1 funzt es.
Die Positionsvariablen heißen $1, $2, $3, usw. Die Anzahl der übergebenen Argumente ist $# und alle Argumente stehen in "$@" bitte mit "", denn sonst werden Aus Argumente, die ein Blank haben zwei Argumente. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (3)
-
B.Brodesser@online-club.de
-
cschult@gmx.de
-
lxlist@inz2cl01.rzffm.db.de