Seite 1 von 1

shell script - awk prob

Verfasst: 19.10.2004, 11:29
von RuRu
servus

ich hab ne "logcount" datei, da steht nur ne zahl drin, die will ich in nem shell script net var zuweisen

wenn ich nu in der bash

awk '{print $1}' logcount

mache, dann gibt der mir auch die zahl zurueck.
wenn ich das nu zuweisen will in dem script

count=` awk '{print $1}' logcount `

kommt:

bash: {print $1}: command not found

wieso ? :<

weiss einer rat, oder ne alternative, wie ich das zuweisen kann ?

thx for helping a nub

Verfasst: 19.10.2004, 12:48
von RuRu
ach ja ... vllt sollte ich noch sagen, dass es ein HP Unix ist ... vllt is das ja wichtig

Verfasst: 19.10.2004, 12:56
von kinderstampfer
also

count=` awk '{print $1}' logcount`

funktioniert bei mir eigentlich wunderpraechtig.

is allerdings kein HP-Unix ;)
schon nachgeschaut ob du die anfuehrungsstrichal/backticks richtig geschrieben hast in deinem script?

Verfasst: 19.10.2004, 13:46
von RuRu
2
awk: Cannot find or open file `.
The input line number is 1. The file is `.
The source line number is 1.
kommt nu bei:

aa=`awk '{print $1}' logcount `

---

also die "2" gibt er ja richtig zurueck nur dann spackt der halt noch rum wegen den `

:(

Verfasst: 19.10.2004, 13:52
von RuRu
also

noch nen paar infos

es ist die "bourne shell" und ein prob scheint bei den > ` < zu liegen ... btw... in meiner shell sind sie genau anders herum gerichtet ...

ich hab nu schon ne menge ausprobiert, komm aber net weiter

:(

Verfasst: 19.10.2004, 14:13
von pixelbrei
Schonmal
var=$(awk '{print $1}' logfile)
probiert?
Und wenn da wirklich _nur_ diese Zahl drinsteht, spricht dann irgendwas gegen ein
var=`cat logfile`
?

Verfasst: 19.10.2004, 14:34
von RuRu
nein .. aber siehe oben mein edit post

das hab ich ja auch schon versucht, in allen moeglichen kombinationen ..

Verfasst: 19.10.2004, 15:38
von edgewalker
Jo.

count=`cat logcount`

Die Anführungszeichen müssen in diese Richtung gehen.

Ausserdem ist es nicht die Bourne-Shell, wenn in der Fehlermeldung "bash" drinsteht.

Verfasst: 19.10.2004, 15:50
von RuRu
Original erstellt von edgewalker
Jo.

count=`cat logcount`

Die Anführungszeichen müssen in diese Richtung gehen.

Ausserdem ist es nicht die Bourne-Shell, wenn in der Fehlermeldung "bash" drinsteht.
das prob ist, dass sie unter win so sind : ´ , aber in hpux halt andersherum ... ich weiss garnet, wie ich die machen soll

moep

Verfasst: 19.10.2004, 16:02
von RuRu
aaa=$(cat logcount)

geht ...

Verfasst: 20.10.2004, 14:38
von itaris
> es ist die "bourne shell" und ein prob scheint bei
> den > ` < zu liegen
Dann nimm halt $() anstatt ``, ist sowieso übersichtlicher und Verschachtelungen sind (einfach) möglich.

Verfasst: 20.10.2004, 18:28
von sze-no1
@cirad
wie heisst das spiel aus deiner signatur? ich hab das schonmal gesehen, und wollts mal spielen.

Verfasst: 20.10.2004, 18:38
von pawlak
Original erstellt von jk
@cirad
wie heisst das spiel aus deiner signatur? ich hab das schonmal gesehen, und wollts mal spielen.
klickst du auf bild!

Verfasst: 20.10.2004, 19:24
von stingray2
Original erstellt von edgewalker
Ausserdem ist es nicht die Bourne-Shell, wenn in der Fehlermeldung "bash" drinsteht.
erm, spielst du jetzt auf bourne _again_ shell an? *nixpeil*

Verfasst: 21.10.2004, 10:09
von itaris
Original erstellt von jk
@cirad
wie heisst das spiel aus deiner signatur? ich hab das schonmal gesehen, und wollts mal spielen.
Scheint ja ein wahnsinniger Aufwand zu sein, mal auf so ein Bild zu klicken und dem Link zu folgen. ;)

Verfasst: 21.10.2004, 13:03
von edgewalker
Ja, ist viel schwerer, als auf's Bild mit "Antwort schreiben" draufzuklicken und dann eine Frage zu verfassen. :ugly:
Original erstellt von stingray
erm, spielst du jetzt auf bourne _again_ shell an? *nixpeil*
Ja. Bourne-Shell ist die Original-Shell von UNIX, die beherrscht die $()-Syntax nicht. Das ist entweder von ksh oder bash eingeführt worden.

Verfasst: 21.10.2004, 13:16
von Gast
Original erstellt von edgewalker im Web-Design-Forum
PS.: hab mich auch selber nochmal schlaugemacht, sodass ich mir in Zukunft keine Deppenapostrophen vorhalten lassen muss. http://www.apostroph.de ist übrigens ganz lustig. :)
Original erstellt von edgewalker
[...] als auf's Bild [...]
Verstehe.. (Ich will ja hier keinen Streit anfangen, aber wenn man schon schreibt, man habe sich schlaugemacht..)

Verfasst: 21.10.2004, 13:44
von edgewalker
Gaah. Ich achte sogar relativ peinlich drauf. Ich sollt's(!) mir wohl ganz abgewöhnen, Kurzformen zu verwenden. (Der Apostroph war jetzt nämlich richtig..)

Verfasst: 21.10.2004, 14:55
von palandir
"auf's" ist richtig... Kurzform von "auf das"

Verfasst: 21.10.2004, 15:00
von Gast
> "auf's" ist richtig... Kurzform von "auf das"
Nein. Bei Verschmelzung von bestimmten Artikeln und vorangehender Präposition darf er nicht gesetzt werden.

> Ich sollt's(!) mir wohl ganz abgewöhnen, Kurzformen zu verwenden
Musst Du nicht. Du kannst ihn ja einfach weglassen, falls Du Dir nicht sicher bist. Im Deutschen gibt es nur einen Fall (Gut, erst durch die neue Rechtschreibreform kann man ihn nun auch dort weglassen, wo das Pronomen "es" zu "s" verkürzt ist), wo der Apostoph stehen muss: Nämlich beim Genitiv eines Namens, der auf einem S-Laut endet.

> (Der Apostroph war jetzt nämlich richtig..)
Ja, war er. :)

Verfasst: 22.10.2004, 01:05
von edgewalker
Original erstellt von ibt.palandir
"auf's" ist richtig... Kurzform von "auf das"
Was ist die Kurzform von "in das"..? ;)

Verfasst: 22.10.2004, 11:25
von palandir
Original erstellt von lems
> "auf's" ist richtig... Kurzform von "auf das"
Nein. Bei Verschmelzung von bestimmten Artikeln und vorangehender Präposition darf er nicht gesetzt werden.
Hmm, ja, hast Recht. Das hätte ich jetzt immer falsch gemacht. :>
"ins" wusste ich, aber kannte diese Regel gar nicht mehr...