Avatar billede shjdsi Nybegynder
29. oktober 2001 - 14:36 Der er 7 kommentarer og
1 løsning

schell script spg. ksh

Hvordan tester man om en fil er større en en anden.
jeg har prøvet følgende, men for fejl. Heller intet resultat uden \"\" om variablerne.
Gælder -gt ikke i korn?
#!/bin/ksh
$log=/var/tmp/logfil
$tmplog=/var/adm/tmplog
    if [ \"$tmplog\" -gt \"$log\" ] then
          udfør handlinger......
    fi

 
Avatar billede peter_m Nybegynder
29. oktober 2001 - 14:41 #1
Er der ikke en size værdi....ellers vil jeg lige undersøge det
Avatar billede peter_m Nybegynder
29. oktober 2001 - 14:42 #2
Mener foresten også at -gt laver værdi på numbers og dvs at strengs ikke vil du.
Avatar billede shjdsi Nybegynder
29. oktober 2001 - 14:48 #3
hmm det er muligt, at der skal laves et eller andet fix fax for at chekke på filesize, kunne man forstille sig et eller andet med
$file1size=`ls-l | awk -f { print $5 } `

eller hva?

jeg er ikke awk ekspert, men er det virkelig det jeg skal ud i
Avatar billede peter_m Nybegynder
29. oktober 2001 - 14:53 #4
Nej, det mener jeg ikke men det kan joh være en midlertidig løsning.

Nu når du nævner awk så skal det ikke undre mig at awk kan se en filstørrelse.

er dog ikke 100 meter xpert i den.
Avatar billede shjdsi Nybegynder
29. oktober 2001 - 16:40 #5
hm dette virker heller ikke!

$TMPLOGSIZE=`ls -l $TMPLOGFILE | nawk \' { print $5 } \'`

for følgende fejl. system_check.ksh[13]: ==55350:  not found

hvor 55350 er størrelsen på filen, men kan ikke initalisere variablen.

Kører korn shell


Ellers nogen der har ideer .
Avatar billede gollum Nybegynder
30. oktober 2001 - 09:02 #6
Du laver et par gundlæggende fejl. Når du skal lave en shellvariabel skal du ikke bruge $, kun når du referrer til den. ex:
a=\"Hello world\" (for nu at tage et uprøvet eksempel). Her definerer du variablen a, herunder bruger du den:
echo $a

Brug følgende stump til at få filstørrelsen:
log=`wc -c /var/tmp/logfil|cut -f 6 -d \' \'`
wc -c tæller antallet af karakter
cut-kommandoen finder det tal du skal bruge i svaret fra pipen
OG `` klammerne fortæller at det mellem klammerne skal eksekveres og ikke opfattes som en streng

Resten af dit forslav ser fornuftigt nok ud når først filstørrelsen er hældt i de rigtige variable




Den tæller antallet af karakterer i en fil og smid resultatet en en shellvariabel, og brug dit eget forslav. Det skulle virke
Avatar billede shjdsi Nybegynder
30. oktober 2001 - 09:04 #7
Jamen mange tak for det :-) Jeg kender \"cut\" og er lidt ærgelig over jeg ikke selcv tænkte på det.

Tak for svaret
Avatar billede peter_m Nybegynder
30. oktober 2001 - 16:15 #8
Hvad bliver dit resultat hvis du underlader $ i dit variable navn ??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester