ninjinjetlee
New Member
Hi alle zusammen!
Ich hoffe, ich bin hier im richtigen Forum und ihr könnt mir helfen. Ich bin ein Anfänger und möchte mich mit der Shell Programmierung anfreunden.
Schlage mich schon sehr lange damit herum, hab Bücher gelesen und das Internet durchgestöbert, komme nicht weiter und könnte schreien vor Frust!!!
Wer kann mir bitte bitte helfen.
Hab Solaris auf meinem Rechner laufen.
Also: Ich muss eine Auftragsveraltung mit Hilfe der ksh sed ex und awk programmieren.
Andere Programmiersprachen wie Perl usw. kommen nicht in Frage.
So, hier die Angabe:
Zu entwickeln ist eine kleine Auftragsverwaltung, die folgendes leistet:
Kunden (Name, Adresse, Telefonnumer, Ansprechperson)
können erfasst, geändert und gelöscht werden.
Mitarbeiter können erfasst, geändert und gelöscht werden.
Aufträge(Kunde, Auftragsbezeichnung, Auftragsbeginn, geplantes Ende, Preis, verantwortlicher Mitarbeiter)
können erfasst, geändert und gelöscht werden.
Einen offen Auftrag kann man abrechnen, dadurch gilt dieser Auftrag als erledigt,
eine entsprechende Rechnung ist automatisch zu generieren.
Dabei soll eine Volagedatei verwendet werden(analog Serienbrief), die das Aussehen des Briefs den "Rahmentext"festlegt.
Abfrage aller offenen Aufträge mit Gesamtpreis bis zu einem einzugegebenen Datum.
Abfrage aller erledigten/abgerechneten Aufträge in einem bestimmten Zeitraum mit Gesamtpreis/Unsatz. in diesem Zeitraum.
Abfrage aller überfälligen Aufträge (wo das geplante Ende schon vorbei ist).
Auswertung über Kunden: Eine Auswertung zeigt die Umsätze der Kunden in einem auszuwählenden Zeitraum.
Die Liste ist so zu sortieren, dass der Kunde mit dem grössten Umsatz als erster angeführt wird.
Mitarbeiterauswertung, die den Umsatz der verantwortlichen Mitarbeiter in einem Zeitraum gegenüberstellt.
Ja, ich weiss, es ist nicht wenig.
Aber ich bin für jede Lösung dankbar.
Ich habe auch schon ein paar Scripte geschrieben.
#! /usr/bin/ksh
#
# neuen Kunden erfassen
#
Dateiname=/Kundendaten
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
print -n "Adresse: "
read adresse
print -n "Telefonnummer: "
read telefonnummer
print -n "Ansprechperson: "
read ansprechperson
echo $nachname $vorname $adresse $telefonnummer $ansprechperson 'date' >> $Dateiname
sort -n Kundendaten
...funzt wunderbar , aber wenn wer einen besseren Vorschlag hat, dann bitte raus damit, bin gerne bereit die bessere Lösung zu anzunehmen.
#! /usr/bin/ksh
#
# delkunde
# loescht Kunde aus Kundendatei
Dateiname=/Kundendaten
until [ "${nachname=$1}" ]
do
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
print -n "Adresse: "
read Adresse
done
if
ex $Dateiname <<-!
/$nachname $vorname $adresse/d
x
!
then
echo "Kunde $vorname $nachname geloescht"
else
echo "$vorname $nachname gibt es nicht"
fi
...loescht Kunde + alle seine Daten, funzt auch wunderbar.
Kundendatei schaut so aus:
####Nachname Vorname Adresse Telefon Bearbeiter Erstellungs-Datum####
Maus Micky Entenhausen 12345 Ninjin Freitag, 13. Mai 2005, 17:26:01 Uhr CEST
Duck Daisy Entenhausen 325233242 Ninjin Mittwoch, 17. Mai 2005, 17:28:23 Uhr CEST
So, jetz zu meinem Problem.
Möchte z.B. die Telefonnummer ausgeben.
Hab ein Script geschrieben, funzt aber nicht so ganz wie ich es will.
#! /usr/bin/ksh
#
# gettelkunde
# gibt Telefonnummer von Kunden aus
Dateiname=/Kundendaten
until [ "${nachname=$1}" ]
do
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
done
IFS=:
if grep "^$nachname $vorname" $Dateiname | read $4(????)
then
print $nachname $vorname hat Nummer $4(???)
fi
Es wird hier nichts ausgegeben.
wo und was ist hier der Fehler??
Wie kann ich die Telefonnummer ändern???
Bitte um Eure Hilfe und bedanke mich im vorraus!!!
DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE
Ich hoffe, ich bin hier im richtigen Forum und ihr könnt mir helfen. Ich bin ein Anfänger und möchte mich mit der Shell Programmierung anfreunden.
Schlage mich schon sehr lange damit herum, hab Bücher gelesen und das Internet durchgestöbert, komme nicht weiter und könnte schreien vor Frust!!!
Wer kann mir bitte bitte helfen.
Hab Solaris auf meinem Rechner laufen.
Also: Ich muss eine Auftragsveraltung mit Hilfe der ksh sed ex und awk programmieren.
Andere Programmiersprachen wie Perl usw. kommen nicht in Frage.
So, hier die Angabe:
Zu entwickeln ist eine kleine Auftragsverwaltung, die folgendes leistet:
Kunden (Name, Adresse, Telefonnumer, Ansprechperson)
können erfasst, geändert und gelöscht werden.
Mitarbeiter können erfasst, geändert und gelöscht werden.
Aufträge(Kunde, Auftragsbezeichnung, Auftragsbeginn, geplantes Ende, Preis, verantwortlicher Mitarbeiter)
können erfasst, geändert und gelöscht werden.
Einen offen Auftrag kann man abrechnen, dadurch gilt dieser Auftrag als erledigt,
eine entsprechende Rechnung ist automatisch zu generieren.
Dabei soll eine Volagedatei verwendet werden(analog Serienbrief), die das Aussehen des Briefs den "Rahmentext"festlegt.
Abfrage aller offenen Aufträge mit Gesamtpreis bis zu einem einzugegebenen Datum.
Abfrage aller erledigten/abgerechneten Aufträge in einem bestimmten Zeitraum mit Gesamtpreis/Unsatz. in diesem Zeitraum.
Abfrage aller überfälligen Aufträge (wo das geplante Ende schon vorbei ist).
Auswertung über Kunden: Eine Auswertung zeigt die Umsätze der Kunden in einem auszuwählenden Zeitraum.
Die Liste ist so zu sortieren, dass der Kunde mit dem grössten Umsatz als erster angeführt wird.
Mitarbeiterauswertung, die den Umsatz der verantwortlichen Mitarbeiter in einem Zeitraum gegenüberstellt.
Ja, ich weiss, es ist nicht wenig.
Aber ich bin für jede Lösung dankbar.
Ich habe auch schon ein paar Scripte geschrieben.
#! /usr/bin/ksh
#
# neuen Kunden erfassen
#
Dateiname=/Kundendaten
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
print -n "Adresse: "
read adresse
print -n "Telefonnummer: "
read telefonnummer
print -n "Ansprechperson: "
read ansprechperson
echo $nachname $vorname $adresse $telefonnummer $ansprechperson 'date' >> $Dateiname
sort -n Kundendaten
...funzt wunderbar , aber wenn wer einen besseren Vorschlag hat, dann bitte raus damit, bin gerne bereit die bessere Lösung zu anzunehmen.
#! /usr/bin/ksh
#
# delkunde
# loescht Kunde aus Kundendatei
Dateiname=/Kundendaten
until [ "${nachname=$1}" ]
do
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
print -n "Adresse: "
read Adresse
done
if
ex $Dateiname <<-!
/$nachname $vorname $adresse/d
x
!
then
echo "Kunde $vorname $nachname geloescht"
else
echo "$vorname $nachname gibt es nicht"
fi
...loescht Kunde + alle seine Daten, funzt auch wunderbar.
Kundendatei schaut so aus:
####Nachname Vorname Adresse Telefon Bearbeiter Erstellungs-Datum####
Maus Micky Entenhausen 12345 Ninjin Freitag, 13. Mai 2005, 17:26:01 Uhr CEST
Duck Daisy Entenhausen 325233242 Ninjin Mittwoch, 17. Mai 2005, 17:28:23 Uhr CEST
So, jetz zu meinem Problem.
Möchte z.B. die Telefonnummer ausgeben.
Hab ein Script geschrieben, funzt aber nicht so ganz wie ich es will.
#! /usr/bin/ksh
#
# gettelkunde
# gibt Telefonnummer von Kunden aus
Dateiname=/Kundendaten
until [ "${nachname=$1}" ]
do
print -n "Nachname: "
read nachname
print -n "Vorname: "
read vorname
done
IFS=:
if grep "^$nachname $vorname" $Dateiname | read $4(????)
then
print $nachname $vorname hat Nummer $4(???)
fi
Es wird hier nichts ausgegeben.
wo und was ist hier der Fehler??
Wie kann ich die Telefonnummer ändern???
Bitte um Eure Hilfe und bedanke mich im vorraus!!!
DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE DANKE