The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
printf arunviswanath Højtstående Programmering 2 09-19-2007 10:31 PM
Det printf kommandoen bebop1111116 Shell Programmering og Scripting 4 10-01-2006 01:40 AM
printf kommandoen i ksh cin2000 Shell Programmering og Scripting 1 12-21-2005 02:48 PM
find: problemer tegnkoder printf-kommandostreng grahamb Shell Programmering og Scripting 1 12-04-2005 04:00 PM
brug for hjælp med printf kommandoen nymus7 Shell Programmering og Scripting 1 04-21-2005 08:05 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 08-07-2002
BRAND FIRE is offline
Registreret Bruger
  
 

Join Date: Jul 2002
Beliggenhed: Syd for Holland
Stillinger: 10
printf kommandoen

Jeg vil gerne gøre en logfil med fejlmeddelelser, som denne:
(collumms: CUSTNR Dato Klokkeslæt FEJLMEDDELELSE)

Code:
 
102      20020807 135417 1 Uptime server is more than 6 months
5        20020808 111335 3 Backup not Ok!
2001     20020808 120428 6 Free space at server1 is less than 20%
etcetera

Jeg lavede dette script:


Code:
CUSTNR=101
DATE=`date +%Y%m%d`
TIME=`date +%H%M%S` 
ERROR=1
MESSAGE="Uptime server is more than 6 months"

printf "%-8s %-10s %-6s %-6s %-80s\n" $CUSTNR $DATE $TIME $ERROR $MESSAGE >> error.log

Men variabele MESSAGE er udskrevet forkert. Den logfile ser noget godt lide denne:

Code:
 
102      20020807 135417 1 Uptime 
server   is       more   than 6 months

Et af problemerne er de rum mellem de ord i MESSAGE strenge.
Hvordan kan jeg løse dette / disse problemer?
  #2 (permalink)  
Old 08-07-2002
gsatch gsatch is offline
Registreret Bruger
  
 

Join Date: Jun 2002
Beliggenhed: Irvine, CA
Stillinger: 21
Prøv at tilføje linjen:

IFS \u003d ""

til dit script. Dette vil nulstille International Field SEPERATOR sådan at det ikke længere indeholde blanktegn. Jeg prøvede det her, og det virkede fint.
  #3 (permalink)  
Old 08-07-2002
BRAND FIRE is offline
Registreret Bruger
  
 

Join Date: Jul 2002
Beliggenhed: Syd for Holland
Stillinger: 10
Jeg har fundet løsningen.

Jeg har erstattet $ MESSAGE med "$ MESSAGE".


Code:
printf "%-8s %-10s %-6s %-6s %-80s\n" $CUSTNR $DATE $TIME $ERROR "$MESSAGE" >> error.log

Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:08 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0