The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
printf arunviswanath High Level Programming 2 09-19-2007 09:31
den printf kommandot bebop1111116 Shell-programmering och Skript 4 10-01-2006 12:40
printf kommando i ksh cin2000 Shell-programmering och Skript 1 12-21-2005 02:48
Hitta rätt: problem flyktbenägen printf-kommandosträng grahamb Shell-programmering och Skript 1 12-04-2005 04:00
behöver hjälp med printf kommandot nymus7 Shell-programmering och Skript 1 04-21-2005 07:05

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-07-2002
BRAND FIRE is offline
Registered User
  
 

Join Date: Jul 2002
Ort: Söder om Holland
Inlägg: 10
printf kommandot

Jag vill göra en loggfil med felmeddelanden, så här:
(collumms: CUSTNR DATUM TEMNE FELMEDDELANDE)
Kod:
 
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
Jag gjorde detta script:

Kod:
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 är tryckt fel. Den loggfil ser något gillar detta:
Kod:
 
102      20020807 135417 1 Uptime 
server   is       more   than 6 months
Ett av problemen är avståndet mellan de ord i MESSAGE strängar.
Hur kan jag lösa detta / dessa problem?
  #2 (permalänk)  
Old 08-07-2002
gsatch gsatch is offline
Registered User
  
 

Join Date: juni 2002
Ort: Irvine, CA
Inlägg: 21
Pröva att lägga till raden:

IFS \u003d ""

till ditt manus. Detta kommer att återställa det internationella området SEPERATOR så att det inte längre kommer att innehålla blanksteg. Jag försökte detta här och det fungerade bra.
  #3 (permalänk)  
Old 08-07-2002
BRAND FIRE is offline
Registered User
  
 

Join Date: Jul 2002
Ort: Söder om Holland
Inlägg: 10
Jag hittade lösningen.

Jag har ersatt $ MESSAGE med "$ MESSAGE".

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

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 10:46.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0