Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

medewiwin

Anfänger

  • »medewiwin« ist männlich
  • »medewiwin« ist der Autor dieses Themas

Beiträge: 4

Wohnort: Regensburg

Beruf: Student

  • Nachricht senden

1

14.11.2004, 15:48

2 csh skripten

Hallo zusammen !
Als Linux-Anfänger sitze ich gerade an 2 csh-shell-skripten. Leider hat mich mein Latein verlassen, so dass ich nun auf eure Hilfe angewiesen bin.

1.) Im ersten Skript sollen alle Freitag der 13. in einem angegebenen Jahresintervall gesucht werden. Leider funktioniert die Hauptschleife nicht, so dass immer nur ein Jahr durchsucht wird. Hier das Skript:
#!/bin/csh -f
# Aufgabe 1
# Ausgabe aller 13. Freitage in einem festgelegten Interval
# Aufruf: find13.csh Jahr1 Jahr2
#
set jahr_1 = $argv[1]
set jahr_2 = $argv[2]
set monat = 1
if ( $#argv != 2 || $1 >= $2 ) then
echo "Error! Usage: $0 1.Jahr 2.Jahr"
exit 1
else
while ( $jahr_1 <= $jahr_2 )
while ( $monat <= 12 )
set a = `cal $monat $jahr_1 | awk '$6 ~/13/ {print $6}'`
if ( $a == "13") then
echo "13.${monat}.${jahr_1}"
endif
@ monat++
end
#
@ jahr_1++
end
endif
exit 0

2.) Im 2. Skript soll eine kleine Datenbank erstellt werden. Vorname, Name, Telefonnummer werden abgefragt und in die Datei tele.txt geschrieben werden. Die awk-Ausgabe am Bildschirm funktiniert, doch wird nichts in die Datei geschrieben. Auch beendet sich das Skript nicht mehr:
#!/bin/csh -f
# Aufgabe 2
# Speicherung von Name, Vorname, Telefonnummer in Datei tele.txt
# Aufruf: tele.csh
#
clear
echo "Name: "
set input1 = "$<"
set name = ( $input1 )
#
echo "Vorname: "
set input2 = "$<"
set vorname = ( $input2 )
#
echo "Telefonnummer: "
set input3 = "$<"
set telefonnummer = ( $input3 )
#
if ( $telefonnummer == "" ) then
set telefonnummer = "-"
endif
#
set tag = `date +%d`
set monat = `date +%m`
set jahr = `date +%y`
set datum = "${tag}.${monat}.${jahr}"
#
awk '{printf "t%-8s\t%-s\t%-8s\t%-17s\n", "'$name'", "'$vorname'", "'$telefonnummer'", "'$datum'" >> "tele.txt"}'
exit 0





Die Datei tele.txt sieht so aus:
Name Vorname Telephonnummer Datum der Eintragung
-------------------------------------------------------------
Mustermann Alfred 089/345345 20.04.03
Hotzenplotz Reiner 0911/778117 19.04.03
Hirsch Harry - 19.04.03


Für eure Hilfe wäre ich sehr dankbar !
Vielen Dank!

2

15.11.2004, 16:04

Du schreibst in Deinem 2. Skript :

PHP-Quelltext

1
awk '{printf "t%-8s\t%-s\t%-8s\t%-17s\n", "'$name'", "'$vorname'", "'$telefonnummer'", "'$datum'" >> "tele.txt"}'


schon mal folgendes probiert ???

PHP-Quelltext

1
awk '{printf "t%-8s\t%-s\t%-8s\t%-17s\n", "'$name'", "'$vorname'", "'$telefonnummer'", "'$datum'" }' >> tele.txt
'Darf ich das als Signatur verwenden?'

medewiwin

Anfänger

  • »medewiwin« ist männlich
  • »medewiwin« ist der Autor dieses Themas

Beiträge: 4

Wohnort: Regensburg

Beruf: Student

  • Nachricht senden

3

20.11.2004, 18:55

awk ohne input

Vielen Dank für deine Antwort !
Leider macht AWK immer dann Schwierigkeiten, wenn er keinen Inputfile bekommt. Vielleicht gibt es einen Parameter der dies ausschaltet. Nur kenne ich den leider noch nicht.

Grüße

Thema bewerten