The UNIX and Linux Forums  

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
Hjälp behövs padding nollor jakSun8 Shell-programmering och Skript 12 07-02-2008 08:41
Byte Fyllnad naan High Level Programming 6 02-22-2007 05:09
Padding nollor efter avlägsnande av kommatecken i filen pranag21 HP-UX 1 11-09-2005 10:22
Fyllnad vijaygopalsk UNIX for Dummies Frågor & Svar 2 06-27-2003 11:51
Padding frågor informshilpa UNIX för avancerade & Expertanvändare 2 03-01-2002 01:51

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 02-06-2007
sbasetty sbasetty is offline
Registered User
  
 

Join Date: Sep 2006
Inlägg: 75
Stoppning med nollor.

Hej Vänner,

Jag skulle vilja vänster pad med "0: s" på första kolumnen säga (bredd sex)
Jag har en stor fil med formatet:


FILE:

1: Alfred 84378 NY
8385: James 88385 FL
323: SMITH 00850 TX

Min produktion måste ut:

000001: Alfred 84378 NY
008385: James 88385 FL
000323: SMITH 00850 TX


Tack på förhand för din hjälp
  #2 (permalänk)  
Old 02-07-2007
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: februari 2005
Ort: Bangalore, Indien
Inlägg: 2.798

Kod:
#! /bin/ksh

typeset -RZ 6 code

while IFS=':' read first rest
do
    code=${first}
    echo "${code}: ${rest}"
done < input.txt

  #3 (permalänk)  
Old 02-07-2007
anbu23 anbu23 is offline Forum Advisor  
Registered User
  
 

Join Date: mars 2006
Ort: Bangalore, Indien
Inlägg: 1.398

Kod:
while IFS=':' read first rest
do
    printf "%06d:%s\n" $first "$rest"
done< file

  #4 (permalänk)  
Old 02-07-2007
tayyabq8's Avatar
tayyabq8 tayyabq8 is offline Forum Advisor  
Moderator
  
 

Join Date: Nov 2004
Plats: Bahrain
Inlägg: 579
Ett annat sätt:
Kod:
awk -F: '{ printf "%06d: %s\n", $1,$2 }' input.txt

  #5 (permalänk)  
Old 05-13-2009
limshady411 limshady411 is offline
Registered User
  
 

Join Date: Aug 2005
Ort: Arizona
Inlägg: 10
Utfyllnad med nollor

Hej alla,

Hänvisa till awk uttalande här
Kod:
awk -F: '{ printf "%06d: %s\n", $1,$2 }' input.txt

Jag vill använda detta begrepp till 5:e området, där jag padding 6 ledande nollor, och resten av min områden vistelse samma. Jag har provat följande:


Kod:
awk -F, '{ printf "%06d, %s\n", $6,$7 }' test1.csv > test2.csv

men det kommer inte ut mina första fem områden eller områden efter 6:e område.

Vänligen ge råd. Thanks much!
Lim
  #6 (permalänk)  
Old 05-13-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.807

Kod:
 echo "1 2 3 4 5 6 7 8 9" | awk '{ $6=sprintf("%06s", $6); print $0}'
1 2 3 4 5 000006 7 8 9

  #7 (permalänk)  
Old 05-13-2009
limshady411 limshady411 is offline
Registered User
  
 

Join Date: Aug 2005
Ort: Arizona
Inlägg: 10
Tack Jim. Det ser ut som det skulle göra tricket. Jag kan inte få det att arbeta med mitt nummer ändå. Jag började använda denna:

Kod:
while IFS=',' read first rest
do
  printf "%07d,%s\n" $first "$rest" >> newfile.csv
done< file.csv

som pad det första fältet. Men jag skulle vilja pad det andra fältet. Hur får jag koden ovan för att pad de andra? Thanks much!

Här är indatafilen:
"100", "100", "ABC"
"100", "200", "ABC"
"100", "300", "ABC"

Här är önskad effekt:
"100", "0000100", "ABC"
"100", "0000200", "ABC"
"100", "0000300", "ABC"
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 08:26.


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